簡體   English   中英

輸入從fstream到2d vector &lt;vector的整數 <int> &gt; C ++

[英]Input integers from fstream to 2d vector< vector<int> > C++

我正在嘗試使用push_back將ifstream中的整數動態添加到2d向量中。 基本上,輸入的輸入方式類似於:

3
20 3
30 4
40 5 
3
50 6
60 7
70 8

我想自己讀取int的值(3,3 ..etc),然后創建數字對的2d向量(int值本身描述將會有多少對)。 現在,我正在使用getline()並將數字存儲在char中,然后再次將其轉換為int的數字,但是我覺得這可能並不理想。 如果有人有任何想法,我將不勝感激。

像(未經測試的):

std::istream_iterator<int> eos;
std::vector<std::vector<int>> matrix;
while(std::getline(str, line))
{
  std::istringstream istr(line);
  std::istream_iterator<int> iin(istr);
  std::vector<int> columns;
  std::back_insert_iterator<vector<int>> back_it(columns);
  std::copy(iin, eos, back_it);
  matrix.push_back(columns);
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM