为什么?

krakan 2004-09-26 08:58:20
我定义buff为wchar_t,用buff存放从文本文件里取出来的中文字符,我用下面这段代码,显示的全是乱码,为什么?
while(!feof(fp))
{
buff[i] = getwc(fp);
i++;
}
怎么改?
...全文
94 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
Dong 2004-09-26
  • 打赏
  • 举报
回复
buff[i] = getwc(fp);
改为
buff[i] = fgetc(fp);
redolive 2004-09-26
  • 打赏
  • 举报
回复
呵呵, 你的文本文件肯定是中英文混合输入的.
runall 2004-09-26
  • 打赏
  • 举报
回复
如果你的txt文件不是unicode格式,根本没有必要用wchar
krakan 2004-09-26
  • 打赏
  • 举报
回复
我用的是txt的文件,buff是新定义的,没有内容里面!
newpuple 2004-09-26
  • 打赏
  • 举报
回复
有没有把buff地址里的内容晴空啊?
runall 2004-09-26
  • 打赏
  • 举报
回复
你的文本文件是unicode格式的吗?
leonhome 2004-09-26
  • 打赏
  • 举报
回复
因为没在中文DOS底下,里面还有数字或字母,或者有不能显示的字符(例如ASCII=1的)
krakan 2004-09-26
  • 打赏
  • 举报
回复
用fgetc也是一样的效果,文本中只有中文字符,那怎么判断一个文本文件是不是unicode格式的啊?

64,649

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧