Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1146578
  • 博文数量: 341
  • 博客积分: 12744
  • 博客等级: 上将
  • 技术积分: 4040
  • 用 户 组: 普通用户
  • 注册时间: 2008-05-12 09:34
文章分类
文章存档

2014年(1)

2013年(10)

2012年(17)

2011年(63)

2010年(102)

2009年(107)

2008年(41)

分类: C/C++

2012-06-25 15:16:13


点击(此处)折叠或打开

  1. #include <Windows.h>
  2. #include <stdio.h>
  3. #include <string.h>
  4. #include <malloc.h>

  5. int main()
  6. {
  7.     char line[] = " name = lily ";
  8.     char *p = line;
  9.     p += strspn(p, " \t");
  10.     char *tmp = strpbrk(p, " \t=");
  11.     int key_len = tmp - p;
  12.     char *key = (char *)calloc(sizeof(char), key_len + 1);
  13.     memcpy(key, p, key_len);
  14.     p = tmp;
  15.     p += strspn(p, " \t");
  16.     if(*p++ != '=')
  17.     {
  18.         printf("line parse error\n");
  19.         return 1;
  20.     }
  21.     p += strspn(p, " \t");
  22.     if(*p == '\r' || *p == '\n')
  23.     {
  24.         printf("line parse error\n");
  25.         return 1;
  26.     }
  27.     tmp = strpbrk(p, " \t");
  28.     int value_len = tmp - p;
  29.     char *value = (char *)calloc(sizeof(char), value_len + 1);
  30.     memcpy(value, p, value_len);
  31.     printf("key = %s, value = %s\n", key, value);
  32.     free(key);
  33.     free(value);
  34.     system("pause");
  35. }

阅读(867) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~