用CStdioFile将字符串截断,如何解决?

simplesslife 2012-11-11 06:51:25
CString s1;
GetView()->m_edit.GetWindowText(s1);
AfxMessageBox(s1);
try
{
CStdioFile f1(d1.GetPathName(),CFile::modeReadWrite|CFile::modeCreate);
f1.WriteString(s1);
f1.Close();
}

如上所示

如果我输入

asssssssssssss
dasfas af
fasass发生法
打啊

大 啊fa
阿达

则只保存
asssssssssssss
dasfas af
fasass

...全文
192 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
捕鲸叉 2012-11-27
  • 打赏
  • 举报
回复
该在非Unicode下试试。 活强制在文件头部写入0XFF 0XFE(两个字节)
simplesslife 2012-11-11
  • 打赏
  • 举报
回复
我是想保存完整的输入,但是总是存在状况,用CFile长度有保证但是在记事本中打开出现的是乱码, 用CStdioFile遇到中文字符就会自动截断,这该如何解?
傻X 2012-11-11
  • 打赏
  • 举报
回复
你截断的标准是什么? 长度? 还是字符类型? 如果是字符类型的话就要用char型指针去偏移了判断了。
Eleven 2012-11-11
  • 打赏
  • 举报
回复
用CFile吧 CFile file(...); file.Write(s1, s1.GetLength() * sizeof(TCHAR)); file.Close();

15,979

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 界面
社区管理员
  • 界面
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧