zoukankan      html  css  js  c++  java
  • sscanf函数

    sscanf() - 从一个字符串中读进与指定格式相符的数据
    swscanf()- 用于处理宽字符字符串,和sscanf功能相同
     
    1. 常见用法。
    1
    2
    3
    charbuf[512];
    sscanf("123456","%s",buf);//此处buf是数组名,它的意思是将123456以%s的形式存入buf中!
    printf("%s ",buf);
    结果为:123456
    2. 取指定长度的字符串。如在下例中,取最大长度为4字节的字符串。
    1
    2
    sscanf("123456","%4s",buf);
    printf("%s ",buf);
    结果为:1234
    3. 取到指定字符为止的字符串。如在下例中,取遇到空格为止字符串。
    1
    2
    sscanf("123456abcdedf","%[^]",buf);
    printf("%s ",buf);
    结果为:123456
    4. 取仅包含指定字符集的字符串。如在下例中,取仅包含1到9和小写字母的字符串。
    1
    2
    sscanf("123456abcdedfBCDEF","%[1-9a-z]",buf);
    printf("%s ",buf);
    结果为:123456abcdedf
    当输入:  sscanf("123456abcdedfBCDEF","%[1-9A-Z]",buf);
    1
    printf("%s ",buf);
    结果为:123456
    5. 取到指定字符集为止的字符串。如在下例中,取遇到大写字母为止的字符串。
    1
    2
    sscanf("123456abcdedfBCDEF","%[^A-Z]",buf);
    printf("%s ",buf);
    结果为:123456abcdedf
    6、给定一个字符串iios/12DDWDFF@122,获取 / 和 @ 之间的字符串,
    先将 "iios/"过滤掉,再将非'@'的一串内容送到buf中
    1
    2
    sscanf("iios/12DDWDFF@122","%*[^/]/%[^@]",buf);
    printf("%s ",buf);
    结果为:12DDWDFF
    7、给定一个字符串“hello, world”,仅保留world。
    (注意:“,”之后有一空格,%s遇空格停止,加*则是忽略第一个读到的字符串)
    1
    2
    sscanf(“hello,world”,"%*s%s",buf);
    printf("%s ",buf);
    结果为:world
    %*s表示第一个匹配到的%s被过滤掉,即“hello,”被过滤了
    如果没有空格则结果为NULL。
  • 相关阅读:
    input框和文字对齐问题
    滚动条位置判断
    【HDOJ】2007平方和与立方和
    POJ3177 Redundant Paths
    POJ3694 Network(tarjan求桥)
    UVA315 Network
    POJ1236 Network of schools
    ZOJ1008 Gnome Tetravex
    ZOJ007 Numerical Summation of a Series(纯数学)
    ZOJ1006 Do the Untwist
  • 原文地址:https://www.cnblogs.com/ph829/p/4092100.html
Copyright © 2011-2022 走看看