Moh*_*ril 4 c++ arguments if-statement
#include <iostream>
using namespace std;
int main(int argc,char* argv[]){
if(argv[1] == ""){
cout << "please put something" << endl;
}else if(argv[1] == "string"){
cout << "yeah string" << endl;
}else if(argv[1] == "integer"){
cout << "yeah integer" << endl;
}
}
Run Code Online (Sandbox Code Playgroud)
我不知false道出了什么问题:我试着检查为argv [1]提供的参数是否为空,所以它将会退出,所以请告诉我我的代码有什么问题.
每个人都给你一个不同的答案.事实上每个人都是对的.
main的签名,int main(int argc, char *argv[])是继承自C.在C字符串中是指向char.==对它们使用运算符时,只比较指针值.
比较字符串内容的C方法是使用strcmp.
if (strcmp(argv[1], "integer") == 0){
Run Code Online (Sandbox Code Playgroud)
以C++方式执行它更安全,更容易.
if (std::string(argv[1]) == "integer"){
Run Code Online (Sandbox Code Playgroud)
这一行创建一个临时的std :: string argv[1].你必须包括string这个工作.
最后检查是否argc == 2为了知道是否提供了参数.确实,argv是由标准3.6.1终止的,但它确实使得检查argv确实等于2更清楚.
| 归档时间: |
|
| 查看次数: |
7023 次 |
| 最近记录: |