往文件里面写CString,不明白为什么最后多出了一个“屯”字???
CString str,str1;
m_edit.GetWindowText(str);
FILE* file;
file = fopen("data.txt","w"); str1 = "\r\n---------------\r\n";
str = str + str1;
fwrite(str.GetBuffer(str.GetLength()),1,str.GetLength(),file); fflush(file);
fclose(file);
---------------
就是想在文本框内容的下一行插入一行“-------”分隔~~
CString str,str1;
m_edit.GetWindowText(str);
FILE* file;
file = fopen("data.txt","w"); str1 = "\r\n---------------\r\n";
str = str + str1;
fwrite(str.GetBuffer(str.GetLength()),1,str.GetLength(),file); fflush(file);
fclose(file);
---------------
就是想在文本框内容的下一行插入一行“-------”分隔~~
至于为什么多读 看看自己的代码就知道了.
另外,是外误用了Unicode字符集。VC2005中,新建的MFC工程默认是使用Unicode字符集的。
怎么会有四个参数的啊
const void *buffer,
size_t size,
size_t count,
FILE *stream
);
其他的代码上看不错问题,调试看看,没写之前最后一行,str是否有"屯";
这样就可以排除fwrite问题了
-----------------
你说得我都明白,就是不知道为什么往文件里面多写了这个'屯'。
=======================================
to:steedhorse(晨星)
------------------
我用得vc6,没有默认unicode,你在2005上没有问题?
=======================================
具体出错样子:
1。输入adfadfadfasdfaf,点写入,再读取变成
adfadfadfasdfaf
---------------
屯
2。什么都不输,再次写入,读取,变成
adfadfadfasdfaf
---------------
屯
---------------
屯屯
3。以此类推···不知道为什么。感兴趣的可以把工程文件传给你研究~呵呵
文本模式用fprintf来写。