我正在编写程序,其中第一个参数必须是 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);
}
}
最佳答案
上面lurker解释了原因。 如果您想验证第一个参数是命令行中的字符,则 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>
关于c - 我如何知道我的 args[] 字符串是否为 char 类型?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50752028/