FILE * popen ( const char * command , const char * type );
int pclose ( FILE * stream );
 
type 参数只能是读或者写中的一种,"r"   "w"
得到的返回值(标准 I/O 流)也具有和 type 相应的只读或只写类型。如果 type 是 "r" 则文件指针连接到 command 的标准输出;如果 type 是 "w" 则文件指针连接到 command 的标准输入。
 
popen 的返回值是个标准 I/O 流,必须由 pclose 来终止。
 

long long len;
char *tok;

char buf[512];
FILE *p = popen("df -h", "r");

while(fgets(buf, sizeof(buf)-1, p) != NULL)
{
    printf("%s\n", buf);
}

tok = strtok(buf, " ");

tok = strtok(NULL, " ");

len = atoll(tok);

printf("%lld\n", len);

tok = strtok(NULL, " ");

len = atoll(tok);

printf("%lld\n", len);

pclose(p);

---------------------------------------------------

strtok()用来将字符串分割成一个个片段。参数s指向欲分割的字符串,参数delim则为分割字符串中包含的所有字符。

当strtok()在参数s的字符串中发现参数delim中包含的分割字符时,则会将该字符改为\0 字符。

在第一次调用时,strtok()必需给予参数s字符串,往后的调用则将参数s设置成NULL。每次调用成功则返回指向被分割出片段的指针

strtok函数会破坏被分解字符串的完整,调用前和调用后的buf已经不一样了

int i = 0;
char buf[] = "192..168.0...8...";
int len = strlen(buf);

char *p = strtok(buf, ".");
printf("%s\n", p);

printf("%s\n", buf);
for(i=0;i<len;i++)
{
printf("%c", buf[i]);
}
printf("\n");

p = strtok(NULL, ".");

printf("%s\n", p);

p = strtok(NULL, ".");

printf("%s\n", p);

p = strtok(NULL, ".");

printf("%s\n", p);

最新文章

  1. C# Azure 消息队列ServiceBus (服务总线队列)
  2. matlab linux 安装
  3. linux 用户、用户组不能是全数字
  4. 未能加载文件或程序集&quot;Microsoft.Web.Infrastructure 的解决方案
  5. 常用js总结1
  6. js语法
  7. Verify Preorder Serialization of a Binary Tree
  8. 【转】MySQL Temporary Table相关问题的探究
  9. [C语言 - 6] static &amp; extern
  10. ClassLoader源码
  11. linux扩展权限
  12. JavaWeb文件的上传与下载(1)
  13. delphi7编写客户端调用java服务器端webservice示例
  14. ssh免密钥登录
  15. WCF 自承载
  16. Solr field alias
  17. 玛雅游戏[NOIP2011]
  18. 【SpringBoot】整合定时任务和异步任务
  19. namespace关键字学习笔记
  20. js(鼠标键盘拖动事件)

热门文章

  1. 05:ModelForm 数据验证 &amp; 生成html &amp; 数据库操作
  2. php在Nginx环境下进行刷新缓存立即输出,实现常驻进程轮询。
  3. 20145220韩旭飞《网络对抗》实验九:web安全基础实践
  4. sbt介绍与构建Scala项目
  5. Python3基础 str format 位置参数与关键字参数
  6. 【第三十二章】 elk(3)- broker架构 + 引入logback
  7. spring boot 修改Tomcat端口
  8. 接口中带参方法,传入IB类型的数据
  9. org.apache.axis2.AxisFault: java.lang.Error: Unresolved compilation problem:
  10. UVa 11584 划分成回文串