zoukankan      html  css  js  c++  java
  • sscanf,sprintf用法

    #include<string.h>
    #include<stdio.h>
    
    int main()
    {
    char buf[512],sztime1[16],sztime2[16];
    sscanf("123456 ", "%s", buf);//此处buf是数组名,它的意思是将123456以%s的形式存入buf中!
    printf("%s
    ", buf);
    
    sscanf("123456 ", "%4s", buf);//取最大长度为4字节的字符串
    printf("%s
    ", buf);
    
    sscanf("123456a bcdedf", "%[^ ]", buf);//取到指定字符为止的字符串。如在下例中,取遇到空格为止字符串。
    printf("%s
    ", buf);
    
    sscanf("123456abcdedfBCDEF", "%[1-9a-z]", buf);//取仅包含指定字符集的字符串。如在下例中,取仅包含1到9和小写字母的字符串。
    printf("%s
    ", buf);
    
    sscanf("123456abcdedfBCDEF", "%[^A-Z]", buf);//取到指定字符集为止的字符串。如在下例中,取遇到大写字母为止的字符串。
    printf("%s
    ", buf);
    
    //给定一个字符串iios/12DDWDFF@122,获取 / 和 @ 之间的字符串,先将 "iios/"过滤掉,再将非'@'的一串内容送到buf中
    sscanf("iios/12DDWDFF@122", "%*[^/]/%[^@]", buf);
    printf("%s
    ", buf);
    
    //给定一个字符串"hello, world",仅保留world。(注意:","之后有一空格,%s遇空格停止,加*则是忽略第一个读到的字符串)
    sscanf("hello, world", "%*s%s", buf);//%*s表示第一个匹配到的%s被过滤掉,即hello被过滤了,如果没有空格则结果为NULL。
    printf("%s
    ", buf);
    
    //sscanf的功能很类似于正则表达式, 但却没有正则表达式强大,所以如果对于比较复杂的字符串处理,建议使用正则表达式.
    //如果读取的字符串,不是以空格来分隔的话,就可以使用%[]。
    //%[]类似于一个正则表达式。[a-z]表示读取a-z的所有字符,[^a-z]表示读取除a-z以外的所有字符。
    sscanf("2006:03:18 - 2006:04:18", "%[0-9,:] - %[0-9,:]", sztime1, sztime2);
    printf("%s,%s
    ", sztime1,sztime2);
    
    //%[^-]匹配到‘-’默认为存到sztime1的字符串“2006:03:18”加空格符,
    //所以%s会默认输入“-2006:04:18”到sztime2这也就是%s前面加‘-’的原因。输出跟作者一样,但更易懂、易读。
    sscanf("2006:03:18-2006:04:18","%[^-]-%s",sztime1,sztime2);
    printf("%s,%s
    ", sztime1,sztime2);
    
    }
    
    
    int main()
    {
    char *p;
    char *q="abcdef";
    sprintf(p,"%s",q);
    printf("p=%s
    
    ",p);
    }
    
     
  • 相关阅读:
    js-jQuery对象与dom对象相互转换
    django模板{%for%}中的forloop的应用
    ubuntu MySQL数据库输入中文乱码 解决方案
    多线程下的神奇的IOCP
    类库服务寄宿到WebHost
    细说Asp.Net WebAPI消息处理管道
    项目发布Debug和Release版的区别
    linux yum命令详解
    Linux系统如何查看版本信息
    Linux查看物理CPU个数、核数、逻辑CPU个数
  • 原文地址:https://www.cnblogs.com/timssd/p/4091016.html
Copyright © 2011-2022 走看看