C++ 怎样才能把一个文本的其他字符删掉,只留下英文。然后保存起来。

比如:
1.txt的内容为:{
Every night in my dreams I see you , I feel you
每一个夜晚, 在我的梦,我看见你,我感觉到你,
That is how I know you go on
我懂得你的心
123745
468:576---786>>。。。。。}
我要只留下{
Every night in my dreams I see you , I feel you
That is how I know you go on

}

char *string = {内容};
char *buffer[size];
int k = 0;
for(i=0;i<length, i++)
{
if((string[[i]>64) && (string[i]<91)) || ((string[i]>96) && (string[i]<123))|| string[i]=' ')
{
buffer[k] = string[[i];
k++;
}
}
只是写了原理,语法和怎样用你自己确定,
原理很简单:
申请一个内存单元,扫描整个字符串数据,如果是位于a~z或A~Z之间的字符就保留(包括空格),否则删除。如果要保留逗号、点号也可以用“||”排除。但是如果你的文本是有规则的,那么你就要根据规则来写程序,相对来说复杂些,如你可以确定一行的开始是英文,那么就保留这一行。
如果只是单独的字符扫描就会使中文中的空格和逗号保留。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2012-12-06
无论ASCII码还是UNICODE码,英文字母都编码在某一范围里,只要判断一个字符的变量数值是否在这个范围里即可。
相似回答