vc++ 将数据写入txt文件,换行问题

CFilefile;CStringstrFileName=_T("F:\\1.txt");file.Open(strFileName,CFile::modeCreate|... CFile file ;
CString strFileName = _T("F:\\1.txt");
file.Open(strFileName,CFile::modeCreate|CFile::modeReadWrite);
CString str, strTmp;
for (int n = 0; n < 20; n++)
{
strTmp.Format(_T("%d\r\n"),n);
file.Write(strTmp,strTmp.GetLength());
}
file.Close();

(使用 Unicode 字符集)
我想实现换行,运行结果没有换行
展开
 我来答
tendgzf
2015-08-13 · 知道合伙人教育行家
tendgzf
知道合伙人教育行家
采纳数:336 获赞数:1145
从事气体安全系统工程方面近十年,对气体安全方面有一定期了解,在国内安全类杂志上发表多篇论文。

向TA提问 私信TA
展开全部
1,你要写入的字符串 在要换行的地方+"\r\n" 得到所有字符串和后利用一次Write写入
这里你要注意转换后写入的长度,跟下代码看看你的长度是否正确
2.打开文件 写入一行 写入一行 写入一行……写完后 关闭文件 写一行打开次文件关闭次文件 必然会导致每次里面只有一行数据
huanglenzhi
推荐于2016-05-05 · 知道合伙人数码行家
huanglenzhi
知道合伙人数码行家
采纳数:117538 获赞数:517194
长期从事计算机组装,维护,网络组建及管理。对计算机硬件、操作系统安装、典型网络设备具有详细认知。

向TA提问 私信TA
展开全部

使用\r\n即可换行,举例如下:

void CMyDlg::OnBnClickedButton1()
{
CString str;
                CString SaveInformation;
str=filedialog2->GetPathName();

                SaveInformation.Format("时间:%s\r\n地点:%s\r\n人物:%s\r\n起因:%s\r\n经过:%s\r\n结果:%s\r\n",A,B,C,D,E,F);

                MessageBox(SaveInformation);
                  
CFile file;
file.Open(str,CFile::modeCreate|CFile::modeWrite);
file.Write(SaveInformation,SaveInformation.GetLength());
file.Close();
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
AINI6658
推荐于2017-12-15 · TA获得超过2268个赞
知道大有可为答主
回答量:1707
采纳率:66%
帮助的人:535万
展开全部
你犯了个弱智错误,unicode前面两字节应该写上FF FE
否则会以ascii方式打开。。所以就错了,
比如
FF FE 30 00 31 00 32 00 33 00 34 00 35 00 36 00 37 00 38 00 39 00 0D 0A
就是
”0123456789/r/n“
只是需要在文件开头写上FF FE,若续写文件就不需要重复再写
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式