Ubuntu 系统 C++ 获取程序输出结果 - 两种方法详解
在 Ubuntu 系统中,可以使用标准输出流来获取 C++ 程序的输出结果。\n\n在 C++ 中,可以使用 cout 对象来输出结果到标准输出流。你可以使用重定向操作符 > 将输出结果重定向到一个文件中,然后再读取这个文件来获取输出结果。\n\n例如,假设你的 C++ 程序名为 myprogram.cpp,你可以将输出结果重定向到一个名为 output.txt 的文件中,然后再读取这个文件来获取输出结果。\n\nshell\n$ g++ myprogram.cpp -o myprogram\n$ ./myprogram > output.txt\n$ cat output.txt\n\n\n上述命令将编译并执行 myprogram.cpp,并将输出结果重定向到 output.txt 文件中。然后,使用 cat 命令来将文件内容打印到终端上,从而获取输出结果。\n\n另外,如果你想在 C++ 程序中获取输出结果并进行处理,你可以使用 popen 函数来执行命令并获取输出结果。下面是一个示例代码:\n\ncpp\n#include <iostream>\n#include <cstdio>\n\nint main() {\n FILE* pipe = popen("ls -l", "r");\n if (!pipe) {\n std::cerr << "Error opening pipe." << std::endl;\n return 1;\n }\n\n char buffer[128];\n std::string result = "";\n while (!feof(pipe)) {\n if (fgets(buffer, 128, pipe) != NULL) {\n result += buffer;\n }\n }\n\n pclose(pipe);\n\n std::cout << "Output: " << std::endl;\n std::cout << result << std::endl;\n\n return 0;\n}\n\n\n上述代码使用 popen 函数执行了一个 ls -l 命令,并将输出结果保存到一个字符串中。然后,可以通过 result 字符串来获取输出结果。\n\n希望以上信息对您有所帮助!
原文地址: https://www.cveoy.top/t/topic/prq5 著作权归作者所有。请勿转载和采集!