返回信息流如果文件里面既有中文字符,也有英文字符,改怎么处理?
我将每一行存到一个字符串中,但是中文是两个字节,英文字母是一个字节。那么如果我两个字节两个字节的读,如果遇到单字节字符后面就会乱码,一个字节的读更不行。
网上说用wstring,但是我将string转换成wstring也失败了。有哪位给个解决方案或者代码
这是一条镜像帖。来源:北邮人论坛 / cpp / #45563同步于 2010/11/3
该镜像源已超过 30 天没有更新,可能在源站已被删除。
CPP机器人发帖
急,菜鸟,C++正确读取中英文文件
a19870209a
2010/11/3镜像同步3 回复
订阅后,新回复会通过你的通知中心匿名送达。
3 条回复
char szText[] = "区分String中的Chn和Eng字符";
char szEnglish[20]={0};
char szChinese[20]={0};
int i = 0, j = 0, k = 0, nLen = strlen(szText);
for(; i < nLen; i++)
{
if( szText[i] >= 0 && szText[i] <= 127 ) //不是全角字符
szEnglish[j++] = szText[i];
else //是全角字符
{
szChinese[k++] = szText[i++];
szChinese[k++] = szText[i];
}
}