FILE *pFile=fopen("1.txt","r");
TCHAR ch[100];
fread(ch,1,100,pFile);
fclose(pFile);
MessageBox(ch);
我想打开1.txt文件,里面有一句话,我使用了以上程序。但打开是乱码?怎么使用Messagebox函数
你代码不对吧,TCHAR
是宽字符,占2个byte,安全的办法是sizeof
计算下TCHAR
的大小,再传给fread
的第2个参数。
同时,你写文件的代码里的fwrite
,第2个参数也得用一样的写法,不然肯定出问题。
FILE *pFile=fopen("1.txt","r");
TCHAR ch[100];
fread(ch,sizeof(TCHAR),100,pFile);
fclose(pFile);
MessageBox(ch);
写文件的部分,你自己再看看。
首先,你的代码有代码出现没有字符串结束符的问题。
其次,这个要看 1.txt 中文本的编码格式与工程的编码设置(多字节还是 Unicode),如果是 ASCII+多字节, 应该可以正确显示;
先调试下看看读取文件有没有乱码。
你的文件内容本身是什么编码,是不是UNICODE,估计是ANSI,而ch是宽字符,所以读入的时候就乱码了
我发现是写入文件的程序有问题,改了一下就可以了