注册 登录
编程论坛 C++教室

字符组

陈钟 发布于 2018-05-29 11:01, 1281 次点击
打开硬盘上一个已经存在的txt文件(该文件的内容由大于5行的字符组成, 每行不大于20个字符),读出第3行和第5行,把第5行串接在第3行后面,并写入一个新的txt文件。
如: 原文件d:/a.txt内容如下:
Dfdf
Dfdfdfdg37473849
Hdhd
Djfalshdfh#$
6789
……

写入新的 d:/b.txt后内容如下:
Hdhd6789
3 回复
#2
Jonny02012018-05-29 12:06
加入你的第一行还要的话, 这就很简单了
读入一行之后存入 string 里面
然后读到第五行或者指标指向第五行最后一个位置输出就可以了
#3
rjsp2018-05-29 12:27
程序代码:
#include <iostream>
#include <fstream>
#include <string>
#include <limits>
using namespace std;

int main( void )
{
    ifstream filein( "d:\\a.txt" );

    // 跳过行1
    filein.ignore( std::numeric_limits<streamsize>::max(), '\n' );
    // 跳过行2
    filein.ignore( std::numeric_limits<streamsize>::max(), '\n' );
    // 读行3
    string line3;
    std::getline( filein, line3 );
    // 跳过行4
    filein.ignore( std::numeric_limits<streamsize>::max(), '\n' );
    // 读行5
    string line5;
    std::getline( filein, line5 );

    // 判断是否读取成功
    if( filein )
    {
        ofstream fileout( "d:\\b.txt" );
        if( fileout )
            // 输出 行3 行5
            fileout << (line3+line5) << endl;
    }
}
1