我的問題可能很瑣碎,但我不知道如何處理它。 我有一個程序,從文件中讀取矩陣,然後從文件中收集它,顯示它並在其上執行數字方法。 當我通過cin插入一些未知數(在這種情況下,它等於文件中的行數),我得到一切正確。 但是,當我嘗試從文件讀取行數,然後讀取矩陣,顯示它並執行方法 - 雖然我得到正確的行數,程序讀取矩陣,就好像它包含0. 這裏是計數行:從文件中讀取行數並在C++中使用它的函數
int countLines(ifstream &file){
string line;
int l = 0;
do{
getline(file, line);
l++;
}while(!file.eof());
return l;}
在這裏,我嘗試使用它:
string nameoffile = "";
nameoffile = "Matrix1.txt";
ifstream file;
file.open(nameoffile.c_str());
if (file.good()==true)
{
cout <<"The file is available<<endl;
n = countLines(file);
cout << n << endl;
collectMatrix(file,n);
}
else
{
return 0;
}
displayMatrix(n);
例如,collectMatrix看起來像這樣:
void collectMatrix(ifstream &file, int n){
for(int i = 0; i <n; i++)
{
for(int j = 0; j <n; j++)
{
file>>A[i][j]; //matrix
}
}
for(int k=0; k<n; k++)
{
file>>b[k]; //vector of results
} }
它的所有工作,只要我在代碼而不是試圖從文件中讀取cin >> n。說實話,我必須從文件中讀取它,但編程不是很好,所以我會很感激任何提示和幫助。
什麼是'plik',應該不是那種善意的'文件'而不是?我沒有看到你在哪裏設置文件的文件名,甚至打開它......這段代碼看起來像一團糟。 – lpapp