0
我試圖將txt文件拆分成幾個新文件。這是我到目前爲止已經完成:將文本文件拆分爲多個文件C++
long c = 0;
string s;
vector<string> v;
我需要算我的txt文件有多少行有(它的工作原理):
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();
它創建文件,但突然停止工作。有誰知道爲什麼?
你在調試器中運行你的代碼嗎?代碼中哪裏停止工作? – 2014-12-02 14:51:42
是的,我做到了。以下是我所得到的結果:「程序接收信號sigsegv分段故障」 – 2014-12-02 14:53:25
在發生分段故障的位置應該有一個行號。 – Max 2014-12-02 14:54:44