繁体   English   中英

将字符串存储到2D数组中

[英]storing a string into 2D array

  a   b
00001 3
00002 2
00003 1 4
00004 2 4 5
00005 1 2
00006 1 2 4
00007 2 5
00008 3 4 5
00009 3 4 5
00010 2 3

这是我的数据,我用getline在C ++中打开它,希望将它们拆分为2D向量。 希望有一个10 * 2数组,其中第一列是a,第二列是b。 我该怎么办?

这是我的代码

int row = 0;
int column = 2;
string line;
vector<vector<string>>info;
ifstream data("C:\\01_test.txt");
while (getline(data, line))
{

    row++;
}
data.close();

您可以这样做:

string line;
int main(){
 vector<vector<string> > info;
 ifstream data("C:\\01_test.txt");
 static int cnt=0;
 while(getline(data, line)){
  istringstream iss(line);
  info.push_back(vector<string>());
  copy(istream_iterator<string>(iss), istream_iterator<string>(), back_inserter(info[cnt]));
  cnt++;
 }
};

如果您想使用int的向量,请使用一些函数将字符串更改为int,如atoi。

最简单的方法是使用istringstream 如果您查看链接中的示例,它应该很明显。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM