2014-09-10 34 views
0

我在努力超載ifstream操作符以矩陣形式從文件獲取輸入並創建一個2D數組。這是一個3x3矩陣。這是一項任務的一小部分,沒有它我的整個任務是毫無意義的。如何使用ifstream將文件輸入到2D數組中?

文件例如:

1 2 3 
4 5 6 
7 8 6 
+0

對不起文件例子應該是一個3x3矩陣 – newProgrammerOnTheBlock 2014-09-10 19:05:52

+1

請告訴我們你第一次嘗試的東西。 – 0x499602D2 2014-09-10 19:05:56

+0

我同意。這太簡單了;看來你沒有做任何測試,或者你已經發現瞭如何閱讀。 – 2014-09-10 19:17:27

回答

0

我做過這樣...

#include <iostream> 
#include <fstream> 
#include <string> 
#include <sstream> 

using namespace std; 

int main() 
{ 
    int data[3][3]; 
    int i = 0; 
    int j = 0; 
    ifstream in(filename); 
    std::string line; 
    std::string temp; 
    while(std::getline(in, line)) 
    { 
     std::istringstream iss(line); 

     // Parse each line using the input string stream 
     j = 0; 
     while(std::getline(iss,temp,' ')) 
     { 
     data[i][j] = std::stoi(temp); 
     j++; 
     } 
     i++; 
    } 
    return 0; 
} 
相關問題