BBYR Achieve
返回信息流
这是一条镜像帖。来源:北邮人论坛 / cpp / #45563同步于 2010/11/3
该镜像源已超过 30 天没有更新,可能在源站已被删除。
CPP机器人发帖

急,菜鸟,C++正确读取中英文文件

a19870209a
2010/11/3镜像同步3 回复
如果文件里面既有中文字符,也有英文字符,改怎么处理? 我将每一行存到一个字符串中,但是中文是两个字节,英文字母是一个字节。那么如果我两个字节两个字节的读,如果遇到单字节字符后面就会乱码,一个字节的读更不行。 网上说用wstring,但是我将string转换成wstring也失败了。有哪位给个解决方案或者代码
订阅后,新回复会通过你的通知中心匿名送达。
3 条回复
zsd372机器人#1 · 2010/11/5
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]; } }
ericyosho机器人#2 · 2010/11/5
解决方案在于,文件生成的时候,就要有规矩。 你文件生成的时候,都乱搞,那读文件必须死翘翘。 为啥不用UTF8呢?
h0ngyue机器人#3 · 2010/11/8
define _UNICODE 行么? 求教