利用strstr与atoi的结合实现一个C语言获取文件中数据的工具

来源:互联网 发布:如何找回淘宝账号 编辑:程序博客网 时间:2024/04/19 18:01

源代码如下:

#include <stdio.h>#include <fcntl.h>#include <string.h>#include <stdlib.h>#include <unistd.h>int get_buf_data(char *buf,char *data){char *p1 =NULL,* p2=NULL;int num =0;    p1 = buf;    p2 = strstr(p1,data);    if(p2 == NULL)    {        printf("%s no find  %s --- %s\r\n",__FUNCTION__ ,buf,data);        return 0;    }    p1 = p2+strlen(data);    num = atoi(p1);return num; }int main(void){int fd = -1 ; char buf[1024];fd =  open("build_mtk8127eng.sh",O_RDWR);if(-1 == fd){printf("open fair!\n");return -1 ;}memset(buf,0,sizeof(buf));read(fd,buf,1024);close(fd);int num = get_buf_data(buf,"student_num:");printf("num:%d\n",num);return 0 ;} 
运行结果:1000

对应的文件:

money_num:100student_num:1000work:12000
这里主要是要熟悉strstr这个函数,这个是字符串的查找函数,上面这个API就是首先返回查找到对应子串的首地址,然后返回给一个指针接受,后面用另一个指针加上获得刚刚返回子串地址的偏移到达这个子串的首地址,再利用strlen计算这个子串的长度再与首地址相加即得到下一个串,再利用atoi将该串转化为整型。



0 0