我正在编写程序,其中第一个参数必须是char
类型,第二个参数必须是int
。我已经为int
类型编写了代码,但无法为char
编写代码。我到处搜索,但我找不到问题的答案,这里是代码:
int main(int argc, char *argv[]){
if(argc != 3){
puts("Error: Invalid number of arguments\n");
exit(0);
}
if(argv[1] ??){
puts("Error: First argument not a char type\n");
exit(0);
}
}
原因在上面由潜伏者解释。如果要验证第一个参数是命令行中的char,isascii可能就是您要查找的内容。应该对argv [1]进行更多验证以避免分段错误。
if (argv[1][1]!='\0'||!isascii(argv[1][0])) {
puts("Error: First argument not a char type\n");
exit(0);
}
“isascii()检查c是否是符合ASCII字符集的7位无符号字符值。”并且不要忘记#include <ctype.h>