如下代码,在启动参数中传一个路径,如果路径没有空格,像这样的路径 D:\protobuf-3.21.5 直接传过去就行,但有一些特例,如果路径中有空格的话像这样的路径 D:\visual stdio 2017代码 ,编译时就会发生崩溃,什么原因呢?原因就是仔细观察中间有两个空格。在程序中调用cmd命令打开一个文件,而文件路径带有空格,如果直接把路径传给cmd,那么cmd就会把路径空格前面的部分当做是一个参数,空格后当做另一个参数,导致程序出错,解决方法是把传入的参数前后添加双引号。
“D:\visual stdio 2017” 这样就可以了。
#include"ReadFile.h"
#include"ReadFileRow.h"
#include"WriteToCsv.h"
int main(int argc, char** argv) {
if (argc > 1){
ReadFile rd;
std::string str(argv[1]);
rd.Test(str);
ReadFileRow rf;
rf.Test(str);
}
else{
std::cerr
关注
打赏