我正在编写程序,其中第一个参数必须是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);
}
}
答案 0 :(得分:1)
上面由潜伏者解释了原因。 如果要验证第一个参数是命令行中的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是否是适合的7位无符号字符值
ASCII字符集。"
并且不要忘记#include <ctype.h>