gpt4 book ai didi

c++ - 从 C++ 调用 'cat' 的简单方法?

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:51:33 26 4
gpt4 key购买 nike

我正在编写一些 C++ 代码,我需要根据文件的内容预先分配一个数组。我绝对可以读取文件并以某种方式解析字符串,但从以下 Linux 单行代码中找到正确的数字一定更容易:

cat myfile.txt | grep 'Freqs ---' | sed 's/Freqs ---//g' | wc -w

在 C++ 代码中对文件使用这一单行的最佳方式是什么?

最佳答案

使用 popen来自 <stdio.h> :

FILE *fp;
char buffer[BUFFER_SIZE];

fp = popen("cat myfile.txt | grep 'Freqs ---' | sed 's/Freqs ---//g' | wc -w", "r");
if (fp != NULL)
{
while (fgets(buffer, BUFFER_SIZE, fp) != NULL)
printf("%s", buffer);
pclose(fp);
}

popen 的返回值是标准 I/O 流,就像 fopen 返回的一样.但是,您应该使用 pclose而不是 fclose关闭流。

关于c++ - 从 C++ 调用 'cat' 的简单方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34970182/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com