• sscanf,sscanf


    在#include<stdio.h>

    定义函数 int sscanf (const char *str,const char * format,........);

    函数说明:

    sscanf()会将参数str的字符串根据参数format字符串来转换并格式化数据。格式转换形式请参考scanf()。转换后的结果存于对应的参数内。

    返回值 成功则返回参数数目,失败则返回-1。

    sscanf(str,"%d%d%s", &i,&i2, &s)

    注意sscanf_s,当读入的类型是整数或其它长度可以确定的类型时,不能在类型后面跟上长度,但是对于字符串类型(char *)长度无法得知则必须在类型后面明确指出字符串的最大长度(即可以容纳的空间)。

    int sscanf_s(   const char *buffer,   const char *format [,argument ] ...);

    sscanf和scanf的不同是输入来源,前者是一个字符串,后者则是标准输入设备

    大家都知道sscanf是一个很好用的函数,利用它可以从字符串中取出整数、浮点数和字符串等等。它的使用方法简单,特别对于整数和浮点数来说。但新手可 能并不知道处理字符串时的一些高级用法,这里做个简要说明吧。

    1. 常见用法。

    以下是引用片段:
      char str[512] = ; 
      sscanf("123456 ", "%s", str); 
      printf("str=%sn", str);

    2. 取指定长度的字符串。如在下例中,取最大长度为4字节的字符串。

    以下是引用片段:
      sscanf("123456 ", "%4s", str); 
      printf("str=%sn", str);

    3. 取到指定字符为止的字符串。如在下例中,取遇到空格为止字符串。

    以下是引用片段:
      sscanf("123456 abcdedf", "%[^ ]", str); 
      printf("str=%sn", str);

    4. 取仅包含指定字符集的字符串。如在下例中,取仅包含1到9和小写字母的字符串。

    以下是引用片段:
      sscanf("123456abcdedfBCDEF", "%[1-9a-z]", str); 
      printf("str=%sn", str);

    5. 取到指定字符集为止的字符串。如在下例中,取遇到大写字母为止的字符串。

    以下是引用片段:
      sscanf("123456abcdedfBCDEF", "%[^A-Z]", str); 
      printf("str=%sn", str);
  • 相关阅读:
    sys模块详解
    os模块详解2
    tyvj 1203 机器分配
    洛谷 P1496 火烧赤壁
    P1204 [USACO1.2]挤牛奶Milking Cows
    bzoj 2120 数颜色
    P2056 采花
    P1972 [SDOI2009]HH的项链
    9.20模拟赛
    P2709 小B的询问
  • 原文地址:https://www.cnblogs.com/Caden-liu8888/p/7723692.html
Copyright © 2020-2023  润新知