qq_36488129 2017-01-04 06:18 采纳率: 0%
浏览 1628

刚学习c++ 遇到问题 求教

【问题描述】对于一个文本文件text1.dat,编写一个程序,将该文件中的每一行字符颠倒顺序后输出到另一个文件text2.dat中。
【输入文件】输入文件为当前目录下的text1.dat,该文件含有多行任意字符,也可能有空行。每个文本行最长不超过80个字符。在最后一行的结尾也有一个回车符。
【输出文件】输出文件为当前目录下的text2.dat。
【样例输入】设输入文件text1.dat为:
This is a test!
Hello, world!
How are you?
【样例输出】输出文件text2.dat为:
!tset a si sihT
!dlrow ,olleH
?uoy era woH

#include
#include
#include
using namespace std;
char s[80];
int main()
{
string a[10];//存储每一行的字符串
int i = 0;
ifstream infile,outfile;
infile.open("text1.dat", ios::in);
outfile.open("text1.dat", ios::out);
while (!infile.eof()) // 若未到文件结束一直循环

{
getline(infile, a[i], '\n');//读取一行,以换行符结束,存入 a[] 中
i++; //下一行

}

infile.close();
outfile.close();

}

展开全部

  • 写回答

4条回答 默认 最新

  • Ym影子 2017-01-04 16:24
    关注
    评论
  • qq_36488129 2017-01-04 06:19
    关注

    接下来怎么将每行的字符反序 然后存储text2.dat中

    评论
  • 企鹅爱吃方便面 2017-01-04 06:41
    关注

    可以试着比较暴力的方法,将字符串存到数组中之后可以建一个for循环,从n-1开始倒序输出

    评论
  • John__xs 2017-01-04 16:35
    关注

    如果你会使用STL的话,可以将读取的一行放入一个序列容器里,比如string,然后利用STL函数 reverse函数 ; 如 reverse(s.begin(),s.end()),对string进行逆置
    ,然后利用string的成员函数c_str转为字符串,最后可以用 fprintf函数写入一个字符串到文件中,如fprintf( fwrite, "%s\n",str);

    代码我就不写了,如果你懂STL的运用自然就会了,希望可以帮助到你

    评论
编辑
预览

报告相同问题?

悬赏问题

  • ¥20 游戏mod是如何制作的
  • ¥15 关于#hadoop#的问题:按照老师上课讲的步骤写的
  • ¥20 有人会用这个工具箱吗 付fei咨询
  • ¥30 成都市武侯区住宅小区兴趣点
  • ¥15 Windows软实时
  • ¥15 自有服务器搭建网络隧道并且负载均衡
  • ¥15 opencv打开dataloader显示为nonetype
  • ¥15 MacOS 80端口外网无法访问
  • ¥50 js逆转反解密-会的来
  • ¥15 wrodpress如何调取数据库并展示
手机看
程序员都在用的中文IT技术交流社区

程序员都在用的中文IT技术交流社区

专业的中文 IT 技术社区,与千万技术人共成长

专业的中文 IT 技术社区,与千万技术人共成长

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

客服 返回
顶部