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

问题描述 投票:-1回答:1

我正在编写程序,其中第一个参数必须是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);
    }
}
c linux ubuntu
1个回答
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是否是符合ASCII字符集的7位无符号字符值。”并且不要忘记#include <ctype.h>

© www.soinside.com 2019 - 2024. All rights reserved.