C语言sprintf和sscanf函数用法

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

1. sprintf

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

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

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

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

函数原型

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

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

例子

将数字转换成字符串内存

#include <stdio.h>

int mian(void){
    int n=90;
    char buf[3];
    sprintf(buf,"%d",n);
    printf("This string is : %s",buf);
    return 0;
}

输出:字符串

This string is : 90

注:转换成字符串之后,会自动在字符串结尾插入'\0',因此要注意第一个参数的内存长度原型

2. sscanf

从名称上来看,这个函数名称由三部分组成:字符串处理

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

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

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

相关文章
相关标签/搜索