JRX*_*JRX 2 c pointers casting strcmp fgetc
如果第一个参数的第一个字符==" - ",则输入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;}
Run Code Online (Sandbox Code Playgroud)
谢谢您的帮助
strcmp()是比较字符串,即空终止char数组.但在这里你比较两个char,这将做:
if (test[0] == '-')
Run Code Online (Sandbox Code Playgroud)
注意单引号'-',这是一个char文字.