请教一个文件读写的问题

lxb365 2006-04-03 09:16:32
void main()
{
string word;
ifstream in_file("123.txt");
ofstream out_file("321.txt");
while(in_file>>word)
out_file<<word;
}

问题来了,123.txt里面是分行,有空格的文件,而写到321.txt里面的成了一排,空格和回车都不见了,该怎么办?
...全文
122 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
jianjun21st 2006-04-03
  • 打赏
  • 举报
回复
三楼第一种方法最简捷
我爱死这个论坛
我爱死这里所有的人
richard_2010 2006-04-03
  • 打赏
  • 举报
回复
二楼一个字符一个字符的确实是个办法
其实你的思想也应该是这样的,只是操作上有些错误而已
fengzhiyi1 2006-04-03
  • 打赏
  • 举报
回复
mark!
beijixuexiong 2006-04-03
  • 打赏
  • 举报
回复
in_file>>word;
///这个是按空格结束得到的string,所以输出的话如果要有空格,就要加上" "

如果楼主只是要操作一个文件的复制的话,可以直接读写所有内容,提供两个方法:
1:
#include <fstream>
#include <string>

using namespace std;

int main(void)
{
ifstream in("123.txt");
ofstream out("321.txt");

out<<in.rdbuf();
return 0;
}

2:
#include <fstream>
#include <string>

using namespace std;

int main(void)
{
ifstream in("123.txt");
ofstream out("321.txt");

while(getline(in,s))
{
out<<s<<"\n";
}

return 0;
}
tykmn 2006-04-03
  • 打赏
  • 举报
回复
一个一个字符拷贝,可以解决这个问题:
#include <fstream>
#include <string>
using namespace std;
int main()
{
char word;
ifstream in_file("123.txt");
ofstream out_file("321.txt");
while((word=in_file.get())!=EOF)
out_file<<word;
}

64,654

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

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