c++字符串保存成文件的问题

挨踢直男 2017-09-17 02:06:21
void saveFile(string content) {
string path = "C:\\Users\\Desktop\\test.txt";
ofstream outfile;
outfile.open(path);
if (!outfile)
{
cout << "txt文件打开失败!" << endl;
exit(0);
}
outfile << content;
outfile.close();
cout << content << endl;
}

这个函数的作用是把字符串保存成文件,但是奇怪的是, 存成文件用记事本打开看到的内容和 cout << content << endl;显示在控制台上显示的内容不一样

百思不得其解, 求大神们指教
...全文
819 8 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
paschen 2017-09-18
  • 打赏
  • 举报
回复
你说显示的内容不一样,分别显示什么呢 是有乱码还是别的什么
挨踢直男 2017-09-18
  • 打赏
  • 举报
回复
解决了, 是我的代码问题, 谢谢各位
酱油党 2017-09-18
  • 打赏
  • 举报
回复
调试跟一下,看看 str += var1; str += var2; var1 var2是否正确赋值
挨踢直男 2017-09-18
  • 打赏
  • 举报
回复
引用 4 楼 paschen 的回复:
你说显示的内容不一样,分别显示什么呢 是有乱码还是别的什么
问题的症状是 string str = "string"; str += var1; str += var2; saveFile(str); 这段代码, 保存的文件中的内容只是初次赋值的值, 也就是 "string" 这个字符串, 至于后面追加的内容, 全没在文件里
挨踢直男 2017-09-18
  • 打赏
  • 举报
回复
引用 4 楼 paschen 的回复:
你说显示的内容不一样,分别显示什么呢 是有乱码还是别的什么
保存的是replace之前的内容, 显示的是replace之后的内容
挨踢直男 2017-09-17
  • 打赏
  • 举报
回复
引用 2 楼 adusuccessfully 的回复:
楼主能不能把调试的完整代码贴出来看看呢?
	auto content = fileContent;
	for (int i = 0; i < tagDataList.size(); i++) {
		auto tagItem = tagDataList[i];
		auto newUrl = genUrlWithVersionNum(tagItem.url, tagItem.urlType);
		content.replace(content.find(tagItem.url, 0),tagItem.url.length(), newUrl);
	}
	saveFile(content);
动力风暴 2017-09-17
  • 打赏
  • 举报
回复
楼主能不能把调试的完整代码贴出来看看呢?
www_adintr_com 2017-09-17
  • 打赏
  • 举报
回复
有不是英文的字符的话可能是编码的问题

33,321

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 新手乐园
社区管理员
  • 新手乐园社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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