在终端中运行bash脚本$ 1将代表程序后输入的值。
示例:typed(bash脚本)
#!/bin/bash
echo "You typed: " $1
当你输入" ./输入某些东西"在一个终端,你会得到"你打字:某事"回来。
我想知道怎么做" ./ a.out test"并测试std :: string userinput
的值我的代码:
#include <iostream>
std:string userinput;
int main() {
std::cout << "You typed: " << userinput << "\n";
return 0;
}
答案 0 :(得分:3)
是的,argv[1]
#include <iostream>
int main(int argc, char *argv[])
{
std::cout << "You typed: " << argv[1] << "\n";
return 0;
}
答案 1 :(得分:3)
声明主函数时,请按如下方式声明:
int main(int argc, char* argv[]) {
// your code here
}
这些是在程序运行时传递给程序的参数。 Argc是参数计数,是传递给程序的参数数量(包括可执行文件)。然后argv是一个包含提供给程序的参数的数组。
例如:
./myprogram.out file1.txt file2.txt
argv[0] = "./myprogram.out"
argv[1] = "file1.txt"
argv[2] = "file2.txt"
答案 2 :(得分:2)
#include <iostream>
int main(int argc, char* argv[])
{
if (argc > 1) {
std::cout << "You typed: " << argv[1] << std::endl;
}
return 0;
}
如果您想要更复杂的控制,请尝试使用boost :: program_options