用CStdioFile将字符串截断,如何解决?
CString s1;
GetView()->m_edit.GetWindowText(s1);
AfxMessageBox(s1);
try
{
CStdioFile f1(d1.GetPathName(),CFile::modeReadWrite|CFile::modeCreate);
f1.WriteString(s1);
f1.Close();
}
如上所示
如果我输入
asssssssssssss
dasfasaf
fasass发生法
打啊
大 啊fa
阿达
则只保存
asssssssssssss
dasfasaf
fasass
[最优解释]
该在非Unicode下试试。
活强制在文件头部写入0XFF 0XFE(两个字节)
[其他解释]
用CFile吧
CFile file(...);
file.Write(s1, s1.GetLength() * sizeof(TCHAR));
file.Close();
[其他解释]
你截断的标准是什么?
长度?
还是字符类型?
如果是字符类型的话就要用char型指针去偏移了判断了。
[其他解释]
我是想保存完整的输入,但是总是存在状况,用CFile长度有保证但是在记事本中打开出现的是乱码,
用CStdioFile遇到中文字符就会自动截断,这该如何解?