如何将argv [] []与空格字符进行比较?

时间:2014-04-01 22:06:46

标签: c arrays compare space argv

我想将argv [] []与空格字符进行比较。但是,它不会让我。当我尝试使用其他字符,例如'a','b','c'等时,它可以工作,但是如果有空格,它就不起作用。

if(argv[1][1] == ' ')
{
    printf("Space Detected\n");
}

我尝试使用空格ASCII号,没有机会。 我试图使用其他字符的ASCII码,它可以工作。

我也试过'\',没机会。

是否有另一种方法可以将argv [] []与空格进行比较?

限制:我不允许在命令行中使用引号,反斜杠。

这是我正在处理的代码:

int main(int argc, char *argv[]) 
{       
    printf("Program Running...\n\n");

    if((argc == 2) || ((argv[1][0] == '-') && (argv[1][1] == 'A')) )
    {
        printf("Option A.\n");
        printf("argv[1][2]: %c\n", argv[1][2]);

        printf("argv[1]: %s\n", argv[1]);

        if(argv[1][2] == ' ')
        {
            printf("Space Detected\n");
        }

    }

    return 0;
}

1 个答案:

答案 0 :(得分:2)

程序的参数由空格分隔。因此,如果您想要实际输入一个,则必须使用"",(至少在Windows中)

控制台示例;

这只是一个参数:

my.exe "a b c" 

三个参数:

my.exe a b c