• C语言sprintf和sscanf函数用法


    以前刚用C语言的时候,觉得字符串很难处理,后来用多了,发现其实并非如此,C语言也提供了许多函数给程序员使用。今天记录一下两个常用的两个字符串处理函数:sprintf和sscanf

    1. sprintf

    从名称上来看,这个函数名称由三部分组成:

    • s 代表字符串(string)
    • print 代表打印
    • f 代表格式化(format)

    这样拆分,可以大概知道它是干嘛用的了,相对于我们常用的用来处理输出流的printf,sprintf是用来处理字符串的。实际上这个函数,是把数据按格式打印到字符串中,常用于将数字转换成字符串。

    sprintf函数所在头文件:stdio.h

    函数原型

    int sprintf ( char * str, const char * format, ... );

    • str 用来存储结果的内存的指针
    • format 格式化规则

    例子

    将数字转换成字符串

    #include <stdio.h>
    #include <string.h>
    int main(void){
        int n=90;
        char buf[3];
        memset(buf,'a',3);
        sprintf(buf,"%d",n);
        printf("This string is : %s",buf);
        return 0;
    }
    

    输出:

    This string is : 90
    

    注:转换成字符串以后,会自动在字符串结尾插入'',所以要注意第一个参数的内存长度

    2. sscanf

    从名称上来看,这个函数名称由三部分组成:

    • s 代表字符串(string)
    • scan 代表扫描
    • f 代表格式化(format)

    这样拆分,可以大概知道它是干嘛用的了,相对于我们常用的用来处理输入流的scanf,sscanf是用来处理字符串的。实际上这个函数,是将字符串中的内容按格式扫描到变量中,常用于将字符串转换成数字。

    sscanf函数所在头文件:stdio.h

    函数原型

    int sscanf ( const char * s, const char * format, ...);

    • s 指定被扫描的字符串
    • format 格式化规则

    例子

    把字符串转换成数字

    #include <stdio.h>
    
    int main(void){
        const char* str="90";
        int num;
        sscanf(str,"%d",&num);
        printf("This number is : %d",num);
        return 0;
    }
    

    输出:

    This number is : 90

  • 相关阅读:
    2012年互联网教育行业观察
    SharePoint 2013的简单介绍
    让Node.js在Azure上运行3
    让Node.js在Azure上运行2
    有一个字符串 "I am a good man",设计一个函数,返回 "man good a am I"。
    json序列化与反序列化
    golang连接mysql数据库进行查询
    简单的WCF服务
    百钱买百鸡问题
    大叔程序员的第九天 @广播启动Activity
  • 原文地址:https://www.cnblogs.com/luoyesiqiu/p/10703762.html
Copyright © 2020-2023  润新知