如何使用命令行参数获取矢量输入?
How do I take a vector input using command line argument?
我不熟悉使用命令行参数。我正在尝试将矢量输入作为命令行参数。请参考以下代码并帮助我解决错误。
#include<bits/stdc++.h>
#include<vector>
using namespace std;
int main(int argc, char *argv[]){
vector<int> arr;
cout<<"Arguments are:\n";
for(int i = 1 ; i < argc ; i++){
arr.push_back(argv[i]);
}
for(int i = 0 ; i < arr.size() ; i++){
cout<<arr[i]<<" ";
}
}
代码给出以下错误。
问题是,您的矢量包含 int
s,但命令行参数是字符串(见错误)。
您应该将 argv[i]
转换为 int
,而不是使用 push_back()
。
您可以使用 stoi()
将字符串转换为 int
,但请记住,当命令行参数中不仅仅出现数字时,它可能会发生。
我不熟悉使用命令行参数。我正在尝试将矢量输入作为命令行参数。请参考以下代码并帮助我解决错误。
#include<bits/stdc++.h>
#include<vector>
using namespace std;
int main(int argc, char *argv[]){
vector<int> arr;
cout<<"Arguments are:\n";
for(int i = 1 ; i < argc ; i++){
arr.push_back(argv[i]);
}
for(int i = 0 ; i < arr.size() ; i++){
cout<<arr[i]<<" ";
}
}
代码给出以下错误。
问题是,您的矢量包含 int
s,但命令行参数是字符串(见错误)。
您应该将 argv[i]
转换为 int
,而不是使用 push_back()
。
您可以使用 stoi()
将字符串转换为 int
,但请记住,当命令行参数中不仅仅出现数字时,它可能会发生。