我想使用此代码打开的文件的名称/路径,并按
跟踪其输出 FILE* lsofFile_p = popen("c:\\adb install " + argv[1] , "r");
和argv [1]这种方式在构建
时出错答案 0 :(得分:1)
这主要是因为您尝试将char[]
数组文字添加到char*
类型:编译器不会喜欢它,因为类型不匹配
编写(std::string("c:\\adb install ") + argv[1]).c_str()
来连接字符串将修复它。这依赖于+
的运算符重载到std::string
,c_str()
提取字符缓冲区。所以,完整的:
FILE* lsofFile_p = popen((std::string("c:\\adb install ") + argv[1]).c_str(), "r");
在阅读argc
的元素之前,请检查argv
的值。