gpt4 book ai didi

c - 将 rewind() 与 popen() 一起使用

转载 作者:太空宇宙 更新时间:2023-11-04 05:19:14 24 4
gpt4 key购买 nike

我有一个简单的 C 代码片段如下:

#include <stdio.h>
void main() {
FILE *f;
char c;
f = popen("ls", "r");
while ((c = fgetc(f)) != EOF) {
//Some tasks
}
rewind(f);
while ((c = fgetc(f)) != EOF) {
printf("%c", c);
}
fclose(f);
}

我不知道为什么代码没有输出。似乎 rewind() 函数不起作用。请帮忙找出我错在哪里。谢谢。

最佳答案

rewind 等同于 fseek(stream, 0L, SEEK_SET) 并且 fseek 只对文件合法,对流不合法(这是带管道的箱子)。

rewind之后检查errno应该是

EBADF The stream specified is not a seekable stream.

关于c - 将 rewind() 与 popen() 一起使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19523806/

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