iOS之强大的sscanf

来源:互联网 发布:win10网络图标不能运行 编辑:程序博客网 时间:2024/05/21 07:56

前两天研究别人的框架时发现了sscanf的使用,随之学习一下。

部分例子参考来自:
https://www.cnblogs.com/mycapple/archive/2012/08/03/2621681.html

sscanf()是C语言中的函数

sscanf()的作用: 从一个字符串中读取与指定格式相符的数据

学习例子:

/* 类型输出 */

    // 输出int类型     int result = 0;     sscanf([@"123321" UTF8String], "%d", &result);    // 123321
     // 输出NSInteger类型      NSInteger result = 0;      sscanf([@"123321" UTF8String], "%ld", &result);     // 123321
     // 输出char类型     char buffer[256];     sscanf([@"123321" UTF8String], "%s", buffer);     // "123321"
     // 16进制数输出 u_int32_t     uint32_t result = 0;     sscanf([@"0x7f90d1d0bd60" UTF8String], "%x", &result);     // 3520118112

/* 格式化输出 */

     // 取指定长度的字符串     char result[3];     sscanf([@"123456" UTF8String], "%3s", result);    // 123
    // 正则1     char result[256];     sscanf([@"121212abcFFF344" UTF8String], "%[1-9a-z]", result);    // 121212abc
     // 正则2     char result[256];     sscanf([@"121212abcFFF344" UTF8String], "%[^A-Z]", result);    // 121212abc
   // 正则3  获取 / 和 @ 之间的字符串    // char result[256];    // sscanf([@"iios/12DDWDFF@122" UTF8String], "%*[^/]/%s", result);     sscanf([@"iios/12DDWDFF@122" UTF8String], "%*[^/]/%[^@]", result);    // 12DDWDFF
     // 正则4  截取字符串     char result[256];     sscanf([@"hello zw" UTF8String], "%*s%s", result);    // %*s 表示第一个匹配到的%s被过滤掉    // 12DDWDFF
     // 正则5     int a,b,c = 0;     sscanf([@"17:12:06" UTF8String], "%d:%d:%d", &a,&b,&c);    // a: 17, b: 12, c: 6
    // 正则6    char sztime1[16] = "", sztime2[16] = "";    sscanf("2006:03:18 - 2006:04:18", "%[0-9,:] - %[0-9,:]", sztime1, sztime2);
原创粉丝点击