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);

popen strtok 函数的使用的更多相关文章

  1. shell脚本调用C语言之字符串切分之strtok函数

    今天上午在写一个需求,要求的比较急,要求当天完成,我大致分析了一下,可以采用从shell脚本中插入一连串的日期,通过调用proc生成的可执行文件,将日期传入后台数据库,在数据库中进行计算.需要切分日期 ...

  2. strtok函数 分类: c++ 2014-11-02 15:24 214人阅读 评论(0) 收藏

    strtok函数是cstring文件中的函数 strtok函数是cstring文件中的函数 其功能是截断字符串 原型为:char *strtok(char s[],const char *delin) ...

  3. strtok函数读写冲突问题

    先上测试代码 #include "stdafx.h" #include <iostream> using namespace std; int _tmain(int a ...

  4. 字符串函数之Strtok()函数

    Strtok()函数详解:   该函数包含在"string.h"头文件中 函数原型: char* strtok (char* str,constchar* delimiters ) ...

  5. STRTOK函数和STRTOK_R函数

    STRTOK函数和STRTOK_R函数 注:本文转载自博客园,感谢作者整理! 1.一个应用实例 网络上一个比较经典的例子是将字符串切分,存入结构体中.如,现有结构体 typedef struct pe ...

  6. [转载]strtok函数和strtok_r函数

    1.一个应用实例 网络上一个比较经典的例子是将字符串切分,存入结构体中.如,现有结构体 typedef struct person{     char name[25];     char sex[1 ...

  7. 温故而知新-strtok函数

    温故而知新-strtok函数 记得之前没见过这个函数,是把字符串分割成更小的字符串 来个例子就是比较鲜明了 $string = "Hello world. Beautiful day tod ...

  8. 用strtok函数分割字符串

    用strtok函数分割字符串 需要在loadrunner里面获得“15”(下面红色高亮的部分),并做成关联参数. //Body response 内容: <BODY><; PRE&g ...

  9. lr中用strtok函数分割字符串

    需要在loadrunner里面获得“15”(下面红色高亮的部分),并做成关联参数. ,6,5,0,4,0,3,0,3,2,0,0,0,1 用web_reg_save_param取出“8,7,5,15, ...

随机推荐

  1. c++随机数及rand()的缺陷

    c++生成随机整数和浮点数如下: #include <random> using namespace std; int _tmain(int argc, _TCHAR* argv[]) { ...

  2. Python 技术点

    1.文件操作 1-1 遍历文件夹和文件 import os rootDir = "/path/to/root" for parent, dirnames, filenames in ...

  3. 如何在 Linux 中挂载 ISO 文件

    在 Windows 中,我们常常使用 Daemon Tools 和 Virtual CloneDrive 等虚拟光驱软件挂载光盘镜像,下面我们一起来学习在 Linux 中如何挂载 ISO 文件. 在 ...

  4. RHEL7--linux系统启动流程与故障排除

    一.Linux启动过程 MBR保存着系统的主引导程序(grub 446字节,分区表64字节),启动过程就是把内核加载到内存. 启动的顺序: 1.BIOS: 2.BIOS激活MBR: 3.MBR中的引导 ...

  5. Mac升级到EI Captain之后pip install 无法使用问题

    错误log: creating /System/Library/Frameworks/Python.framework/Versions/2.7/share error: could not crea ...

  6. stm32 pwm 电调 电机

    先上代码 python 树莓派版本,通俗表现原理.stm32 C语言版本在后面 import RPi.GPIO as GPIO import time mode=2 IN1=11 def setup( ...

  7. Cocos2d-x学习笔记(十一)动作

    动作类Action是一切动作的祖先类.它有三个直接继承子类: FiniteTimeAction受时间限制的动作: Follow精灵跟随精灵的动作: Speed运动速度控制: 而FiniteTimeAc ...

  8. django 动态生成CSV文件

    CSV (Comma Separated Values),以纯文本形式存储数字和文本数据的存储方式.纯文本意味着该文件是一个字符序列,不含必须像二进制数字那样的数据.CSV文件由任意数目的记录组成,记 ...

  9. 自定义 Maven 的 repositories

    有时,应用中需要一些比较新的依赖,而这些依赖并没有正式发布,还是处于milestone或者是snapshot阶段,并不能从中央仓库或者镜像站上下载到.此时,就需要 自定义Maven的repositor ...

  10. tp5.0 composer命令插件

    1.单元测试composer require topthink/think-testing 1.* (5.0) composer require topthink/think-testing 5.1官 ...