使用popen和argv [1](文件名)

时间:2016-08-09 15:03:32

标签: c++

我想使用此代码打开的文件的名称/路径,并按

跟踪其输出

FILE* lsofFile_p = popen("c:\\adb install " + argv[1] , "r");

和argv [1]这种方式在构建

时出错

1 个答案:

答案 0 :(得分:1)

这主要是因为您尝试将char[]数组文字添加到char*类型:编译器不会喜欢它,因为类型不匹配

编写(std::string("c:\\adb install ") + argv[1]).c_str()来连接字符串将修复它。这依赖于+运算符重载std::stringc_str()提取字符缓冲区。所以,完整的:

FILE* lsofFile_p = popen((std::string("c:\\adb install ") + argv[1]).c_str(), "r");

在阅读argc的元素之前,请检查argv的值。