c++中区分汉字、字母和符号

来源:百度知道 编辑:UC知道 时间:2024/07/02 20:06:55
想编一个程序,从TXT中读入一篇文章,然后输出到另一个txt中,只是仅仅输出其中的汉字,英文字母、标点符号全部去除,下面是我编的,但是总是不行.各位帮帮忙啦~~~~
#include<fstream>
#include<iostream>
#include<string>

using namespace std;

void main()
{
ofstream outfile("after.txt");
ifstream infile("original.txt");

if(!outfile||!infile)
cerr<<"cannot open or wirte files!!";

string all;
infile>>all;
string after=" ";

int i=0;
for(int j=0;i<all.size();)
{
string a=" ";

a[0]=all[i];

if(a[0]<128)
i++;

else
{
a[1]=all[i+1];
i+=2;
after[j]=a[0];
after[j+1]=a[1];
j+=2;
}
}
outfile<<after;
}

int main()
{
char c[]="aaa你sda,!@#!$好";
int i=0,j=0;
while(c[i]!=0)
{
if(c[i]<0) c[j++]=c[i];
i++;
}
c[j]=0;
cout<<c;

return 0;

}
汉字是小于0的吧 都在小于128范围内

呵呵 很简单啊
在primer C++上面有说啊
去除标点符号
你去看看吧
在string那章里面有说