Thr*_*iag 1 c++ program-entry-point boolean
是否有推荐/正确/更安全的方法将 bool 参数传递给您的主函数?
这是
$ ./my_software true
Run Code Online (Sandbox Code Playgroud)
与此为my_software:
int main(argc, argv* []){
bool my_bool = argv[1];
return 0;
}
Run Code Online (Sandbox Code Playgroud)
和这个
$ ./my_software 1
Run Code Online (Sandbox Code Playgroud)
与此为my_software:
int main(argc, argv* []){
bool my_bool = atoi(argv[1]);
return 0;
}
Run Code Online (Sandbox Code Playgroud)
相等的?我错过了第一个转换吗?
C++ 流可以处理这个问题。不要忘记检查是否argv[1]确实存在!
#include <sstream>
//...
std::stringstream ss(argv[1]);
bool b;
if(!(ss >> std::boolalpha >> b)) {
// Parsing error.
}
// b has the correct value.
Run Code Online (Sandbox Code Playgroud)
放入std::boolalpha流操纵器可以解析“true”和“false”,将其省略将让它解析“0”和“1”。
| 归档时间: |
|
| 查看次数: |
13633 次 |
| 最近记录: |