zoukankan      html  css  js  c++  java
  • 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);
  • 相关阅读:
    Android的NDK开发(5)————Android JNI层实现文件的read、write与seek操作
    android Context
    android 控件放在 listview 的下方 并且在 屏幕底部
    android Activity 布局 和 控件属性
    有关vtun和虚拟网卡要做的实验
    android xml pull 解析 豆瓣书籍
    android UI设计之 背景透明色 项目资源文件关系
    android 资源引用 自定义标题栏
    真机调试Unable to open sync connection!
    C++ 编译预处理
  • 原文地址:https://www.cnblogs.com/Caden-liu8888/p/7723692.html
Copyright © 2011-2022 走看看