我想将 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;
}
最佳答案
程序的参数由空格分隔。因此,如果您想实际输入一个,则必须使用 ""
,(至少在 Windows 中)
控制台示例;
这只是一个参数:
my.exe "a b c"
三个参数:
my.exe a b c
关于c - 如何将 argv[][] 与空格字符进行比较?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22797843/