2

我需要找到一个文本文件的最后一行并选择前 10 个字符并将这 10 个字符打印到一个新的文本文件中。

我可以打开一个文件,读取数据并将其写入一个新文件,但我找不到最后一行,选择 10 个字符并将该值打印到一个新文件中。

请帮助我。

#include <stdio.h> 
#include <conio.h> 
#include <iostream.h> 
#include <fstream.h> 
#include <string.h> 

int main() { 
    unsigned int number_of_lines = 0; 
    FILE *infile = fopen("D:\\example.txt", "r"); 
    int ch; 

    while (EOF != (ch=getc(infile)))
        if ('\n' == ch)
            ++number_of_lines; 

    int linescount = number_of_lines+1; 
    cout << linescount << endl;

    system("pause"); 
    return 0; 
}
4

1 回答 1

6
ifstream file;
string filename="D:\\example.txt";
file.open(filename.c_str());

string line;
while(getline(file,line));

现在你在字符串中有最后一行line

现在将 10 个字符发送line到输出文件。 line.substr(0,10)将获取前十个字符。

于 2013-08-12T13:54:43.800 回答