程序运行的时候通过CMD命令行传参的时候带空格
对应的程序源码
#include <stdio.h>
int main(int argc, char *argv[])
{
int i = 0;
for(i = 0; i < argc; i++)
{
printf("Get argv[%d]:%s\n", i, argv[i]);
}
}
命令行参数带空格的时候总是被当做两个参数进行处理(运行结果如下):
./a.out 2021-02-31 13:28:33
Get argv[0]:./a.out
Get argv[1]:2021-02-31
Get argv[2]:13:28:33
如何结果将带空格的参数变成一个参数
将带空格的变量用双引号引起来即可
./a.out "2021-02-31 13:28:33"
Get argv[0]:./a.out
Get argv[1]:2021-02-31 13:28:33
结论
遇到带空格的参数 需要用双引号引起来