C语言字符串解析

您所在的位置:网站首页 烤鸭取菜名 C语言字符串解析

C语言字符串解析

2024-07-10 21:12| 来源: 网络整理| 查看: 265



在处理字符串的程序当中,经常会分析字符串,从一大长串的字符串截取我们需要的数据,这如果通过自己手写函数来分析,虽然可以,但当你知道sscanf的功能,那就自己写函数分析就显得多此一举。

这些函数的使用都很简单,总结一下,等下次使用一目了然。俗话说:好记性不如烂笔头,记录下来就是效率。

以下源代码是本人测试的源文件,附带讲解注释。

[cpp] view plain copy print ? /***************************************************** ** Name         : sscanf.c  ** Author       : gzshun ** Version      : 1.0 ** Date         : 2011-12 ** Description  : sscanf function ******************************************************/  #include   #include   #include     static void sscanf_test(void);    static void sscanf_test(void)  {      int ret;      char *string;      int  digit;      char buf1[255];      char buf2[255];      char buf3[255];      char buf4[255];        /*1.最简单的用法*/      string = "china beijing 123";      ret = sscanf(string, "%s %s %d", buf1, buf2, &digit);      printf("1.string=%s\n", string);      printf("1.ret=%d, buf1=%s, buf2=%s, digit=%d\n\n", ret, buf1, buf2, digit);      /*     **执行结果:     **1.ret=3, buf1=china, buf2=beijing, digit=123     **可以看出,sscanf的返回值是读取的参数个数     */        /*2.取指定长度的字符串*/      string = "123456789";      sscanf(string, "%5s", buf1);      printf("2.string=%s\n", string);      printf("2.buf1=%s\n\n", buf1);      /*     **执行结果:     **2.buf1=12345     */        /*3.取到指定字符为止的字符串*/      string = "123/456";      sscanf(string, "%[^/]", buf1);      printf("3.string=%s\n", string);      printf("3.buf1=%s\n\n", buf1);      /*     **执行结果:     **3.buf1=123     */        /*4.取到指定字符集为止的字符串*/      string = "123abcABC";      sscanf(string, "%[^A-Z]", buf1);      printf("4.string=%s\n", string);      printf("4.buf1=%s\n\n", buf1);      /*     **执行结果:     **4.buf1=123abc     */        /*5.取仅包含指定字符集的字符串*/      string = "0123abcABC";      sscanf(string, "%[0-9]%[a-z]%[A-Z]", buf1, buf2, buf3);      printf("5.string=%s\n", string);      printf("5.buf1=%s, buf2=%s, buf3=%s\n\n", buf1, buf2, buf3);      /*     **执行结果:     **5.buf1=123, buf2=abc, buf3=ABC     */        /*6.获取指定字符中间的字符串*/      string = "ioswp7";      sscanf(string, "%*[^


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3