[問題] 未知行數二維陣列讀檔
開發平台(Platform): (Ex: VC++, GCC, Linux, ...)
VC++
問題(Question):
想要從檔案讀取一個二維陣列,
檔案以空白為分隔, 每三段數字應該讀成一列 (row)
已知的話我會
但在總列數未知的情況下, 不知道該怎麼讀才對
目前只能想到類似下面這樣的寫法,
但總會跳出: vector subscript out of range 的警告視窗而不能跑
想請問該怎麼修正才是?
程式碼(Code)
#include <fstream>
#include "iostream"
#include <vector>
using namespace std;
int main()
{
fstream file;
file.open("abc.txt", ios::in);
if (!file)
cout << "error! \n";
int i = 0;
vector<int> A;
vector<int> B;
vector<int> C;
while (file >> A[i] >> B[i] >> C[i]) {
i++;
}
file.close();
return 0;
}
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 36.231.76.126
※ 文章網址: https://www.ptt.cc/bbs/C_and_CPP/M.1458740461.A.DE8.html
→
03/23 22:24, , 1F
03/23 22:24, 1F
→
03/23 22:25, , 2F
03/23 22:25, 2F
→
03/24 00:51, , 3F
03/24 00:51, 3F
→
03/24 01:41, , 4F
03/24 01:41, 4F
→
03/24 01:41, , 5F
03/24 01:41, 5F
→
03/24 02:01, , 6F
03/24 02:01, 6F
推
03/24 02:17, , 7F
03/24 02:17, 7F
推
03/24 07:39, , 8F
03/24 07:39, 8F
→
03/24 09:06, , 9F
03/24 09:06, 9F
→
03/24 09:06, , 10F
03/24 09:06, 10F
→
03/24 10:09, , 11F
03/24 10:09, 11F
我也很想知道推文是來回答問題還是回答嘴砲的XDD
推
03/24 12:45, , 12F
03/24 12:45, 12F
你說的算
→
03/24 12:46, , 13F
03/24 12:46, 13F
噓
03/24 13:10, , 14F
03/24 13:10, 14F
→
03/24 13:11, , 15F
03/24 13:11, 15F
→
03/24 13:13, , 16F
03/24 13:13, 16F
→
03/24 13:15, , 17F
03/24 13:15, 17F
→
03/24 13:16, , 18F
03/24 13:16, 18F
我後來是直接用getline找出行數, 再用這個定值做剩下的部分啦@@
但想說還是有點冗, 所以還是把文留下來看有沒有人有些建設性的意見
推
03/24 13:16, , 19F
03/24 13:16, 19F
我昨天找到vector這個東西就湊合著用了, 也不是很清楚
本來是想說這樣就不用先設size, 但後來也不知道怎麼用才是
你如果有效率更好的方法也可以給我些意見
→
03/24 13:20, , 20F
03/24 13:20, 20F
推
03/24 13:21, , 21F
03/24 13:21, 21F
這個我知道, 但我只是想表達要輸出而已
推
03/24 13:24, , 22F
03/24 13:24, 22F
噓
03/24 13:39, , 23F
03/24 13:39, 23F
這部分我應該沒講清楚, 因為row有上億筆, 我目前是關心這部分的效率
推
03/24 15:38, , 24F
03/24 15:38, 24F
為什?
※ 編輯: ericrobin (140.112.25.99), 03/24/2016 16:42:40
※ 編輯: ericrobin (140.112.25.99), 03/24/2016 16:46:28
→
03/24 17:10, , 25F
03/24 17:10, 25F
→
03/24 17:10, , 26F
03/24 17:10, 26F
→
03/24 17:11, , 27F
03/24 17:11, 27F
→
03/24 17:17, , 28F
03/24 17:17, 28F
→
03/24 17:17, , 29F
03/24 17:17, 29F
→
03/24 17:20, , 30F
03/24 17:20, 30F
→
03/24 17:27, , 31F
03/24 17:27, 31F
推
03/24 22:48, , 32F
03/24 22:48, 32F
→
03/24 22:50, , 33F
03/24 22:50, 33F
→
03/24 22:51, , 34F
03/24 22:51, 34F
→
03/25 15:10, , 35F
03/25 15:10, 35F