1
我寫了一個C++程序,我有多個CSV文件用作輸入,我一次打開一個,並在將數據提取到輸出文件(這是唯一文件)後關閉它。C++ Getline&seekg
我運行getline(inFile,line); outFile < < line < < endl;
我把它輸出後約200-300行之後,並在我的輸出一個大空白CSV文件
突然但當我慢的代碼,如系統(「暫停」運行這段代碼,僅只有少數文件)在循環中,我可以得到提取我想要的完美...
我的程序運行速度快,爲什麼getline會跳過我想要的東西的一部分?
我真的不知道問題出在哪裏是從哪裏來的,或者從哪裏開始
非常感謝!
if (dataname[i] == dataname)
{
inFile.seekg(datalength[i], ios::beg);
for (int j = 0; j < datacount[i]; j++)
{
getline(inFile, line);
outFile << line << endl;
}
}
我想我們需要看到更多的代碼。 'datalength [i]'來自哪裏,例如? –
這只是seekg的長度...... – user2458864
你是如何得到這個「長度」的?我的觀點是,至少在Windows上,換行符與''\ n''的長度不同,因此seekg不僅僅是您讀取的數據的大小。 –