Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/161.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 在C+;中将一组整数作为字符串读取+;_C++_Parsing - Fatal编程技术网

C++ 在C+;中将一组整数作为字符串读取+;

C++ 在C+;中将一组整数作为字符串读取+;,c++,parsing,C++,Parsing,我有以下文本文件numbers.txt 4 5 825 6725 6244865 基本上,我想取第一行中的整数(本例中为4),作为整数和 将剩余的整数作为字符串,我编写了以下代码: ifstream inFile; inFile.open("numbers.txt"); int a; inFile>>a; string b[a]; for(int i=0; i<a; i++){ inFile>>b[i]; } ifstream-infle; infle.ope

我有以下文本文件numbers.txt

4 
5
825
6725
6244865
基本上,我想取第一行中的整数(本例中为4),作为整数和 将剩余的整数作为字符串,我编写了以下代码:

ifstream inFile;
inFile.open("numbers.txt");
int a;
inFile>>a;
string b[a];
for(int i=0; i<a; i++){
inFile>>b[i];
}
ifstream-infle;
infle.open(“numbers.txt”);
INTA;
填充>>a;
字符串b[a];
对于(int i=0;i>b[i];
}
但它不起作用。这段代码中是否有我做错的地方? 我也使用了getline,但这也不起作用

string b[a];
不会飞行,您不能像那样分配非常量大小的数组。也可以这样做

string* b = new string[a];
后来

delete[] b;
或者做一些类似于字符串向量的东西:

vector <string> b(a);
向量b(a);
这甚至不应该编译。您不能声明大小将在运行时确定的数组

请执行以下操作:

int a = -1;
inFile>>a;
if (a < 1) {
   // HANDLE INVALID DATA HERE!
}

vector<string> b(a);
for(int i=0; i<a; i++){
    inFile>>b[i];
}
inta=-1;
填充>>a;
if(a<1){
//在这里处理无效数据!
}
载体b(a);
对于(int i=0;i>b[i];
}

字符串b[a]
否。。。
int a = -1;
inFile>>a;
if (a < 1) {
   // HANDLE INVALID DATA HERE!
}

vector<string> b(a);
for(int i=0; i<a; i++){
    inFile>>b[i];
}