为什么fscanf读取中文字符串会出现错误?

来源:百度知道 编辑:UC知道 时间:2024/09/28 07:34:12
项目为C++ WIN32
代码片段
bool Game::readFile(char * str){
FILE *fp;
fp=fopen(str,"r+");
if(fp==NULL)
{
return false;
}
rewind(fp);
fscanf(fp,"%d%d%d%s",&numtest,&rowtest,&pictest,&chartest);
return true;
}
&numtest,&rowtest,&pictest 都是INT型
&chartest 是CHAR型数组,长度1024
读取文件的位置和名称没有错误~
读取内容如下:
112 132 1023 妹妹妹妹妹妹妹妹妹妹妹妹妹妹妹妹妹妹妹妹妹妹妹妹妹妹妹妹
132 222 112 哥哥哥哥哥哥哥哥哥哥哥哥哥哥哥哥哥哥哥哥哥哥哥哥哥哥哥哥哥哥哥

如果不能解决,帮我找一个同样可以解决的方案也行
前两位的方法我都试过了
都不可以
数据的内容没有改变.......

你把存该成
fprintf(fp,"%d,%d,%d,%s\n",数据,数据,数据,数据);

读取用fscanf(fp,"%d,%d,%d,%s",&numtest,&rowtest,&pictest,chartest);
或fscanf(fp,"%d,%d,%d,%s",&numtest,&rowtest,&pictest,&chartest);

把你完整的程序以及要读取的文本发给我看看,我百度Hi在线