FILE *fp = NULL;
_tfopen_s(&fp, csFileName, _T("a"));
写入文件时用
fwrite ( L"\r\n ", 1, 4, fWrite)
或者
fwrite ( "\x0D\x00\x0A\x00 ", 1, 4, fp)
文件里为0d 00 0d 0a 00, 多了一0x0d
解决的办法则要以二进制文件形式打开,不能用文本形式,因为文本形式遇到0a, 微软自动在前面加上0d。
_tfopen_s(&fp, csFileName, _T("ab"));
本文讨论了在C++中使用`_tfopen_s`函数以二进制形式而非文本形式打开文件进行数据写入的重要性。解释了当使用文本模式打开文件时,遇到特定字符如'
'时,Windows系统会自动在其前加上'
',导致额外的0x0d字符被写入文件。通过提供具体的代码示例和解决方法,本文旨在帮助开发者理解并避免此类错误。
88

被折叠的 条评论
为什么被折叠?



