关于数据文本文件的读、写的几个小问题.

ratrat 2001-11-07 11:45:02
...全文
965 7 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
xddjd 2001-11-07
  • 打赏
  • 举报
回复
是test.cpp,还有是一行一组数据的话,如果你处理后的数据不分行的话,或者说你处理后的数据可以随你之意分行的话,那你把倒数第二行的endl改为ends就行,只是把数据分开。
如果按原样分行的话,就可能得按照读字符的方式来,比较麻烦,或者可以再请教高手看有没有更好的方法,我初学c++不久。多谢你给的分。
ratrat 2001-11-07
  • 打赏
  • 举报
回复
我想问 一下是c:\\xuexi\\test.cpp;还是c:\\xuexi\\read_file
ratrat 2001-11-07
  • 打赏
  • 举报
回复
是一行一组数据。
如:67 84 28 30 12;
74 93 18 27 46;
..........
58 36 72 63 91;
xddjd 2001-11-07
  • 打赏
  • 举报
回复
你好,我看这个问题解决了,所以没有加注释,在倒数第二行,我只是对所有数据作了加10的处理,而且假定现在是按照你的那种说法,一行一个数据。如果要改成一行不知道多少数据,那就要在读read_file的时候用getch()函数,自己去判断一行的结束,还要将读进来的字符改成整数。这个关键是用一个向量来解决,就可以不管数据有多大了。
我假定的文件是在c:\xuexi的目录下,你试的时候改一下!
ratrat 2001-11-07
  • 打赏
  • 举报
回复
#include <iostream>
#include <fstream>
#include <string>
#include <vector>

using namespace std;

void main()
{
ifstream read_file("c:\\xuexi\\test.cpp");

if(!read_file)
{
cerr<<"can not find this file\n";
return;
}
int readwords;
vector<int> text_file;
while(read_file >> readwords)
{
text_file.push_back(readwords);
}

ofstream end_file("c:\\xuexi\\test.cpp");
if(!end_file)
{
cerr<<"can not write this file\n";
return;
}

for(int jn=0;jn<text_file.size();jn++)
end_file<<(text_file[jn]+10)<<endl;
cout << "modify successly"<<endl;
}
如果想对读入的数据进行处理应在 那里加入代码?
ratrat 2001-11-07
  • 打赏
  • 举报
回复
我有问题想问你。
ratrat 2001-11-07
  • 打赏
  • 举报
回复
xddjd() 在吗?

70,021

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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