社区
Linux_Kernel
帖子详情
fd = popen(command, "r")怎么获取fd长度啊
小新8111
2011-08-15 02:19:16
FILE *fd;
fd = popen(command, "r") //command 只一个命令
如何获取fd的长度啊?
我用的fseek(fd, 0, SEEK_END);
m = ftell(fd);
结果不管什么情况都返回m=-1
...全文
211
4
打赏
收藏
fd = popen(command, "r")怎么获取fd长度啊
FILE *fd; fd = popen(command, "r") //command 只一个命令 如何获取fd的长度啊? 我用的fseek(fd, 0, SEEK_END); m = ftell(fd); 结果不管什么情况都返回m=-1
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
4 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
小新8111
2011-08-16
打赏
举报
回复
http://blog.csdn.net/gwl48/article/details/6459544
小新8111
2011-08-16
打赏
举报
回复
这样子的啊,呵呵。谢谢两位了
justkk
2011-08-15
打赏
举报
回复
管道是不支持设置偏移的,只能顺序访问
为什么要获取长度呢?
直接读就行了,循环读,知道返回0为止
无知者无谓
2011-08-15
打赏
举报
回复
popen打开一个“管道”,在对方close之前是不可能知道对方还有多少东西没写的,就是说它根本没有SEEK_END。
从Linux程序中执行shell(程序、脚本)并获得输出结果
Table of Contents 1. 前言 2. 使用临时文件 3. 使用匿名管道 4. 使用
popen
5. 小结 1. 前言 Unix界有一句名言:“一行shell脚本胜过万行C程序”,虽然这句话有些夸张,但不可否认的是,借助脚本确实能够极大的简化一些编程工作。比如实现一个ping程序来测试网络的连通性,实现ping函数需要写上200~300行代码,为什么不能直接调用系统的ping命令呢?通常在程序中通过 system函数来调用shell命令。但是,system函数仅返回命令是否执行成功,而我们可能需要获得shell命令在控制台上输出的结果。例如,执行外部命令ping后,如果执行失败,我们希望得到ping的返回信息。
c代码-
获取
Linux主机的唯一标识
c代码-
获取
Linux主机的唯一标识
linux c程序中
获取
shell脚本输出的实现方法
以下是对在linux下c程序中
获取
shell脚本输出的实现方法进行了详细的分析介绍,需要的朋友可以过来参考下
linux进程和线程编程
linux 进程和线程编程 pipe --原始管道 命名管道 消息队列 信号量 内存共享 线程编程
LINUX进程间通信:PIPE与FIFO - 山 人 - 博客园1
父进程可以往里写子进程可以从里读是用环形队列实现的数据从写端流入从读端流出这样就实现了进程间通信
popen
函数与pclose函数标准函数库提供了函数它创建一个管
Linux_Kernel
4,465
社区成员
17,462
社区内容
发帖
与我相关
我的任务
Linux_Kernel
Linux/Unix社区 内核源代码研究区
复制链接
扫一扫
分享
社区描述
Linux/Unix社区 内核源代码研究区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章