如果第一个参数的第一个字符==“ - ”,则输入if语句。我得到的错误是“传递'strcmp'的参数1使得整数指针没有强制转换”我也用fgetc尝试了这个,写得有点不同,但仍然得到这个错误。如果我施展它,我得到一个核心转储。
如果参数包含一个破折号,那么在同一个参数中会跟着数字,所以我不能只将argv [1]看作一个char,如果我可以这么简单:if (strcmp(argv[1], "-")==0)
功能
int main (int argc, const char *argv[]){
const char *test = argv[1];
if (strcmp(test[0],"-")==0)
{
printf("saw there was a dash");
}
return 0;}
感谢您的帮助
答案 0 :(得分:6)
strcmp()
用于比较字符串,即空终止char
数组。但是在这里你要比较两个char
,这样做:
if (test[0] == '-')
请注意'-'
中的单引号,即char
字面值。