2014-05-11 31 views
1

我正在嘗試計算文本文件中的行數,但每次運行此代碼時,我都將1987121509作爲行數。你能告訴我如何修改我的代碼以獲得正確的行數?謝謝。當計算C++中的文本文件中的文本行數時出現錯誤

下面的代碼:

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

int main() 
{ 
string line; 
int numLine; 

ifstream dataFile; 
dataFile.open("fileforstring.txt"); 

if(!dataFile) 
{ 
    cout<<"Error opening file."; 
} 

else 
{ 
    cout<<"File opened successfully"; 
} 

while(getline(dataFile,line)) 
{ 
    ++numLine; //increment numLine each time a line is found 
} 

cout<<"\nNo of lines in text file is "<<numLine; 

dataFile.close(); 

return 0; 
} 
+3

首先:如何正確初始化變量? 'int numLine = 0;' –

+0

大聲笑我發現我的錯誤已經。沒有看到。不管怎樣,謝謝你。 –

+1

回答你自己,所有人都會學習 – NirMH

回答

1

下面是正確的代碼不正確初始化變量的 愚蠢的錯誤(我問這個問題後發現)。

#include <iostream> 
#include <string> 
#include <fstream> 
using namespace std; 
int main() 
{ 
string line; 
int numLine = 0; //didn't set it to zero. 
ifstream dataFile; 
dataFile.open("fileforstring.txt"); 

if(!dataFile) 
{ 
    cout<<"Error opening file."; 
} 

else 
{ 
    cout<<"File opened successfully"; 
} 

while(getline(dataFile,line)) 
{ 
    ++numLine; 
} 

cout<<"\nNo of lines in text file is "<<numLine; 

dataFile.close(); 

return 0; 
} 
相關問題