void getOutbyCmd(const string cmdStr, string &outStr)
{
FILE *fileStream = NULL;
#ifdef WIN32
if ((fileStream = _popen(cmdStr.c_str(), "r")) == NULL)
#else
if ((fileStream = ::popen(cmdStr.c_str(), "r")) == NULL)
#endif
{
return;
}
size_t bufferSize = 2048;
char buffer[bufferSize];
while(!feof(fileStream))
{
fgets(buffer, bufferSize - 1, fileStream);
outStr += string(buffer);
}
#ifdef WIN32
_pclose(fileStream);
#else
::pclose(fileStream);
#endif
}
windows/linux/mac通过c++执行终端命令(或脚本)获取输出到字符串
最新推荐文章于 2023-07-29 15:10:37 发布