Я пытаюсь разделить txt-файл на несколько новых файлов. Это то, что я сделал до сих пор:Разделить текстовый файл на несколько файлов C++
long c = 0;
string s;
vector<string> v;
Мне нужно подсчитать, сколько строк мой текстовый файл имеет (он работает):
while(getline(inputFile, s, '\n')){
v.push_back(s);
c++;
}
long lineNumber = c;
long max = 100;
long nFiles;
проверить, сколько новых файлов будут созданы:
if((lineNumber % max) ==0)
nFiles = lineNumber/max;
else
nFiles = lineNumber/max + 1;
создания новых имен файлов:
long currentLine = 0;
for(long i = 1; i <= nFiles; i++){
stringstream sstream;
string a_i;
sstream <<i;
sstream >> a_i;
string outputfiles = "name" +"_" + a_i +".txt";
ofstream fout(outputfiles.c_str());
for (int j = currentLine; j<max; j++){
fout << v[j]<<endl;
}
fout.close();
currentLine = max;
}
inputFile.close();
Создает файлы, но затем внезапно перестает работать. Кто-нибудь знает, почему?
Вы запускаете свой код в отладчике? Где в коде он перестает работать? –
Да, я это сделал. Вот то, что я получаю: «ошибка приема сегмента сигсегва программной ошибки» –
Должен быть номер строки, где произошла ошибка сегментации. – Max