当前位置: 技术问答>linux和unix
如何实现这个关于fseek函数的程序
来源: 互联网 发布时间:2016-07-29
本文导语: 环境: centos ,gcc dat文件内容: 12345abc 67890def main.c 代码: #include int main() { FILE *fi; int i; char buf[10]=""; fi=stdin; //first time fread(buf,1,5,fi); i=fseek(fi,0,SEEK_SET); //second time...
环境: centos ,gcc
dat文件内容:
12345abc
67890def
main.c 代码:
执行:
#g++ -g main.c
#dd if=dat | ./a.out
我想还是输出12345,怎么才能实现?
dat文件内容:
12345abc
67890def
main.c 代码:
#include
int main()
{
FILE *fi;
int i;
char buf[10]="";
fi=stdin;
//first time
fread(buf,1,5,fi);
i=fseek(fi,0,SEEK_SET);
//second time
fread(buf,1,5,fi);
printf("%sn",buf);
fclose(fi);
}
执行:
#g++ -g main.c
#dd if=dat | ./a.out
我想还是输出12345,怎么才能实现?
|
不好意思,刚才弄错了。
重新运行了一下,输出abc
fseek返回-1,errno是29,ESPIPE,“Illegal seek”
看来fseek操作stdin是不行啊
重新运行了一下,输出abc
fseek返回-1,errno是29,ESPIPE,“Illegal seek”
看来fseek操作stdin是不行啊