Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/163.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/string/5.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++ 比较空字符串和int_C++_String - Fatal编程技术网

C++ 比较空字符串和int

C++ 比较空字符串和int,c++,string,C++,String,程序从用户处读取命令,然后根据指定的操作进行操作 某些操作只接受一个参数 string line, operation, sec, third; int first; getline(cin, line); istringstream(line) >> operation >> first >> sec >> third; 如果用户没有输入第一个参数,程序将给出错误消息, 问题是我首先应该和什么比较 我尝试将其与0进行比较,但没有成功 如果有,你

程序从用户处读取命令,然后根据指定的操作进行操作 某些操作只接受一个参数

string line, operation, sec, third;
int first;
getline(cin, line);
istringstream(line) >> operation >> first >> sec >> third;
如果用户没有输入第一个参数,程序将给出错误消息, 问题是我首先应该和什么比较 我尝试将其与0进行比较,但没有成功

如果有,你可以用!line.empty以确保字符串不是空的


请参阅链接:

我认为您需要初始化'first'变量,例如

int first=-1


然后在用户输入命令后,将first与-1进行比较。假设-1不是有效的输入参数。

不要读取超出需要的内容。您是指空字符串吗?因为您使用的std::string不能为NULL,而char*可以?行中的第二个单词为空不是整行我想检查第一个是否为空,但是如果我将其更改为string,然后尝试if!first.empty它不起作用如果你想“检查first是否为空”使用if first.empty。。。这个是相同的一个不相等的。。。请将其删除,然后重试。将你的新代码发布到你的问题中…它可以帮助每个人看到你的进步
>>operation_name first_argument