[問題] txt檔案讀取一行,放入到陣列並顯示

作者: jayzhuang (Jay)   2019-09-12 19:17:17
開發平台(Platform): (Ex: Win10, Linux, ...)
Windows 10
編譯器(Ex: GCC, clang, VC++...)+目標環境(跟開發平台不同的話需列出)
vs2019
額外使用到的函數庫(Library Used): (Ex: OpenGL, ...)
問題(Question):
要把一個文字檔案,程式讀取每一行之後,透過寫入到陣列
然後呈現
餵入的資料(Input):
這是我的顯示,右邊是我設定的每一行的陣列
https://imgur.com/mPT1Bcc
預期的正確結果(Expected Output):
這是直接讀取txt檔案的內容,沒有空一行沒有關係
最重要的是能一行對應一個array
https://imgur.com/NEVmEZj
錯誤結果(Wrong Output):
而我直接寫入到陣列之後,呈現的內容:
https://imgur.com/YI4YaLO
這邊我只有先測試讀取到data_array[0][0]~data_array[2][3]的內容
程式碼(Code):(請善用置底文網頁, 記得排版,禁止使用圖檔)
Sleep(5000);
//5秒開始,目前回傳以密碼原則12條為主:檢查全部內容
string data_array[5][4];
ifstream Read_PwdRevisTxt; //要讀取的修改檔-PwdRevis
Read_PwdRevisTxt.open("computer01.txt");
for(int i=0;i<5;i++)
{
for (int j = 0; j < 4; j++)
{
Read_PwdRevisTxt >> data_array[i][j];
}
}
Read_PwdRevisTxt.close(); //讀取完畢要關閉
cout << data_array[0][0] << endl;
cout << data_array[0][1] << endl;
cout << data_array[0][2] << endl;
cout << data_array[0][3] << endl;
cout << data_array[1][0] << endl;
cout << data_array[1][1] << endl;
cout << data_array[1][2] << endl;
cout << data_array[1][3] << endl;
cout << data_array[2][0] << endl;
cout << data_array[2][1] << endl;
cout << data_array[2][2] << endl;
cout << data_array[2][3] << endl;
補充說明(Supplement):
我找到的問題,他好像只要有空白、tab,就會直接寫入陣列內@@
我要的是一行對應一個array這樣
有大大可以告訴我怎麼解決這問題嗎?
作者: james732 (好人超)   2019-09-12 19:57:00
透過 getline() ?用法可google
作者: Gway (我愛的你 也愛我 好嗎?)   2019-09-12 21:14:00
宣告vector<string> data_array 用Readline(cin,data_array[i]) 去取每一行呃 我打錯api 是getline... 拍謝 恍神

Links booklink

Contact Us: admin [ a t ] ucptt.com