• 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

  • 相关阅读:
    C# 之 FTPserver中文件上传与下载(一)
    net-snmp-5.7.3配置编译安装
    Linux下编译安装Apache Http Server
    linux回收站设计
    String封装——读时共享,写时复制
    4-python学习——数据操作
    3-python学习——变量
    2-python学习——hello world
    1 python学习——python环境配置
    04-树7. Search in a Binary Search Tree (25)
  • 原文地址:https://www.cnblogs.com/luoyesiqiu/p/10703762.html
Copyright © 2020-2023  润新知