2014-09-16 3 views
-1

Эта программа разбивает файл на два файла из основного каталога и затем объединяет исходный файл с новым именем.Подсчет строк в текстовых файлах

Как добавить счетчик для вывода количества строк в новом файле?

Пример: Есть 80 строки в этом файле (помещенного в конце нового файла)

Как я могу сделать это?

#include<iostream> 
#include<fstream> 
using namespace std; 

void pause(); 

int main() 
{ 
    char filename[] = "Lab2Test.txt"; 
    char filenameA[] = "LabTest-FA.txt"; 
    char filenameB[] = "LabTest-FB.txt"; 
    char filenew[] = "Lab2Test-NEW.txt"; 

    ifstream origin(filename); 
    ofstream fA(filenameA); 
    ofstream fB(filenameB); 
    ofstream fnew(filenew); 

    if (! origin) 
    { 
     cout << filename << " could not be opened." << endl; 
     return -1; 
    } 

    string s; 
    int i=0; 
    while(getline(origin, s)) 
    { 
     if(i % 2 == 1) //odd - write to LabTest-FA 
      fA << s << endl; 
     else 
      fB << s << endl; 
     i++; 
    } 

    fA.close(); 
    fB.close(); 

    ifstream fAA(filenameA); 
    ifstream fBB(filenameB); 

    string s1, s2; 
    while(getline(fBB,s1)) 
    { 
     fnew << "A. " << s1 << endl; 
     if(getline(fAA,s2)) 
      fnew << "B. " << s2 << endl; 
    } 
} 

void pause() 
{ 
    cin.sync(); 
    cout << "Press any key to continue..." << endl; 
    cin.ignore(); 
} 

ответ

0
int countA, countB; 
if(i % 2 == 1) //odd - write to LabTest-FA 
{ 
    fA << s << endl; 
    countA++; 
} 
else 
{ 
    fB << s << endl; 
    countB++; 
} 
i++; 
fA << "There are" + countA + "lines in this file" << endl; 
fB << "There are" + countB + "lines in this file" << endl; 

fA.close(); 
fB.close(); 

Если конкатенация строк не работает, как будто извините, прошло некоторое время с C/C++.

Смежные вопросы