读书人

用CStdioFile将字符串截断怎么解决

发布时间: 2012-12-25 16:18:28 作者: rapoo

用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遇到中文字符就会自动截断,这该如何解?

读书人网 >VC/MFC

热点推荐