我用 C++写一个小程序,读写文件, 读的时候能读取汉字 但是写的时候就不能写汉字, 急急急。。 谢谢

我用 C++写一个小程序,读写文件, 读的时候能读取汉字 但是写的时候就不能写汉字, 急急急。。 谢谢,第1张

这是因为CString是Unicode字符,而txt是Ansi字符,把CString直接写到txt中就会出现乱码,推荐用ini文件代替txt文件,ini文件比txt文件用起来更方便,而且有专门的函数对ini文件进行 *** 作;你也可以用MultiByteToWideChar函数对CString转换后再写到txt文件中

一个原因 你的homework.txt文件 中不足1024个字节 ,

fread(temp,1024,1,content)

puts(temp)

while(!feof(content))

{

fwrite(temp,sizeof(temp),1,result)

fread(temp,sizeof(temp),1,content)

}

你第一次读到缓冲temp读了1024字节,已经读光了,

puts(temp) 会输出整个homework.txt文件内容,

此时 feof 检测到已经读到文件结尾,

所以不会进入while()循环

写入失败


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12098237.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-21
下一篇 2023-05-21

发表评论

登录后才能评论

评论列表(0条)

保存