当前位置:  技术问答>linux和unix

popen函数用法...急,在线等

    来源: 互联网  发布时间:2017-02-20

    本文导语:  请教个问题 我用popen打开一个执行命令 代码如下     fd = popen("mkfs.ext3 /dev/sda1", "r");     if(!fd)     {         return ERROR;     }     while(fread(buf, 1, 1, fd))             {                  ...

请教个问题
我用popen打开一个执行命令
代码如下

    fd = popen("mkfs.ext3 /dev/sda1", "r");
    if(!fd)
    {
        return ERROR;
    }
    while(fread(buf, 1, 1, fd))        
    {          
        printf("%s", buf);
    }

为何我打印出来的只是
mke2fs 1.38 (30-Jun-2005)
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
2011296 inodes, 4016242 blocks
200812 blocks (5.00%) reserved for the super user
First data block=0
123 block groups
32768 blocks per group, 32768 fragments per group
16352 inodes per group
Superblock backups stored on blocks: 
        32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208

Writing inode tables: done                        
Creating journal (32768 blocks): done
Writing superblocks and filesystem accounting information: done
This filesystem will be automatically checked every 25 mounts or
180 days, whichever comes first.  Use tune2fs -c or -i to override.

而手动执行mkfs.ext3 /dev/sda1
显示如下
/dev $ mkfs.ext3 sda1 
mke2fs 1.38 (30-Jun-2005)
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
2011296 inodes, 4016242 blocks
200812 blocks (5.00%) reserved for the super user
First data block=0
123 block groups
32768 blocks per group, 32768 fragments per group
16352 inodes per group
Superblock backups stored on blocks: 
        32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208

Writing inode tables:  61/123

我想通过popen读取格式化硬盘的进度。该如何做啊?

|
用fgets吧

|
用fgets + sscanf 函数,解析你的打印信息,但是解析的速度如果比格式化速度慢的话 你的进度信息将会是不准确的。还有就是看看mkfs的源代码,在里面将格式化进度的那个值取出来进行。类似的操作在cdrecord里就有。

    
 
 
 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • popen()里的command是个脚本,里面定义了function,在运行时,报错sh:"}"非期望的.看popen帮助,它execl不一定就用ksh,如何设环境是她能用ksh
  • 频繁调用popen的问题
  • 请教cgi程序不能使用popen的问题
  • popen和system的问题
  • 用popen,不能使用fseek了?Segmentation fault错误
  • POPEN后如何知道哪个是父进程执行的结果
  • fd = popen(command, "r")怎么获取fd长度啊
  • popen得小问题。
  • 请教关于popen()命令!
  • docker中文入门学习手册 iis7站长之家
  • 如何linux 程序中启用其他进程,非阻塞,非popen
  • popen/pclose: too many open files
  • 关于popen调用ls获取文件名的问题
  • 使用popen来执行gcc命令,如何根据读出来的gcc的输出来判断gcc是否编译成功?
  • 关键字:UNIX C POPEN FILE
  • C++ 中有没有类似的 popen
  • 关于用popen调用mplayer的问题,读不出命令的输出流


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3