vector读入指定行数但不指定列数的数字

 #include <iostream>
#include <vector>
#include <cstdio>
#include <cstring>
#include <vector>
#include <stdlib.h>
#include <stdio.h>
#include <string>
#include <string.h> using namespace std;
vector <int> gridTopo[]; void readTxt()
{
char readLine[];
const char *delim = " ";
char *p;
for (int i = ; i < ; i++)
{
cin.getline(readLine, );
p = strtok(readLine, delim);
while (p)
{
gridTopo[i].push_back(atoi(p));
p = strtok(NULL, delim);
}
}
} int main()
{
readTxt();
for (int i = ; i < ; i++)
{
for (std::vector<int>::iterator m = gridTopo[i].begin(); m != gridTopo[i].end(); m++)
cout << *m << " ";
cout << endl;
}
system("pause");
return ;
}

如代码所示,假设输入6行数字,每行输入的具体数字不确定。

用getline读取每行的字符串,用strtok命令找出所有" "并把数字压入vector。

注意读取时特定可用gridTopo[0][0]代表第一行第一个数字,遍历可用vector的begin和end来完成不确定列数的输入。

上一篇:Python基础语法之列表 元组


下一篇:监测div 元素 变动