c++删除txt中空格 符号

用VC编的程序,打开一个txt文件,读出里面内容,包括中文、英文、符号、空格,删除里面所以空格、英文、符号和换行,只留下一长串的中文,从新建立一个TXT文件输出。最好写出... 用VC编的程序,打开一个txt文件,读出里面内容,包括中文、英文、符号、空格,删除里面所以空格、英文、符号和换行,只留下一长串的中文,从新建立一个TXT文件输出。
最好写出完整cpp代码,谢谢。
展开
 我来答
些许孤寒
2011-04-26
知道答主
回答量:7
采纳率:0%
帮助的人:0
展开全部
给你个提取中文字符的函数,文件读写就自己写吧。运行环境VS2008.

GB2312编码的特性:将ASCII码表中161-255(-95~-1)之间的数值空间作为汉字的标识码。
处理字符时,当连续处理到两个大于160(或-95~-1)的字节时,就认为这两个字节存放了一个汉字字符。

#include <atlstr.h>
#include <iostream>
using namespace std;

CString FilterString(CString strIn)
{
strIn.Replace(" ", "");
strIn.Trim();
int iLen = strIn.GetLength();
if (!(iLen > 0))
{
return "";
}
char * pstrIn = strIn.GetBuffer();
CString strOut = "";
int iFlag = 0;
for(int i =0 ;i < iLen ;i++)
{
if(pstrIn[i] > 0xa0 || (pstrIn[i] < 0 && pstrIn[i] >= -95))
{
if(iFlag == 1)
{
strOut.AppendChar(pstrIn[i-1]);
strOut.AppendChar(pstrIn[i]);
iFlag = 0;
}
else
{
iFlag=1;
}
}
}

strIn.ReleaseBuffer();
return strOut;
}
int main()
{
CString strMsg = " hello孟姜女123, 。。 ..?;'\r\n哭长城owjyrend";
cout<<"o源字符串: "<<strMsg<<endl;
cout<<"o转换符串: "<<FilterString(strMsg)<<endl;
return 0;
}

这里中文标点符号也算是中文字符。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式