我如何知道我的args []字符串是否为char类型?

时间:2018-06-08 01:06:52

标签: c linux ubuntu

我正在编写程序,其中第一个参数必须是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);
    }
}

1 个答案:

答案 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);
}

&#34; isascii()               检查c是否是适合的7位无符号字符值               ASCII字符集。&#34; 并且不要忘记#include <ctype.h>