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>

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是用来处理字符串的。实际上这个函数,是将字符串中的内容按格式扫描到变量中,常用于将字符串转换成数字。

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

原文地址:https://www.cnblogs.com/luoyesiqiu/p/10703762.html

时间: 2024-08-29 13:35:11

C语言sprintf和sscanf函数用法的相关文章

sscanf函数用法详解

sscanf() - 从一个字符串中读进与指定格式相符的数据.  函数原型:  Int sscanf( string str, string fmt, mixed var1, mixed var2 ... );  int scanf( const char *format [,argument]... );  说明:  sscanf与scanf类似,都是用于输入的,只是后者以屏幕(stdin)为输入源,前者以固定字符串为输入源.  其中的format可以是一个或多个 {%[*] [width]

php中sprintf与printf函数用法区别

下面是一个示例:四舍五入保留小数点后两位 <?php $num1 = 21; echo sprintf("%0.2f",$num1)."<br />"; //输出 21.00 $num2 = 16.3287; echo sprintf("%0.2f",$num2)."<br />"; //输出 16.33 $num3 = 32.12329; echo sprintf("%0.2f&quo

R 语言assign 和get 函数用法

assign函数在循环时候,给变量赋值,算是比较方便 1.给变量赋值 [plain] view plain copy for (i in 1:(length(rowSeq)-1)){ assign(paste("nginx_server_fields7_", i, sep = ""), nginx_server_fields7[(rowSeq[(i-1)+1]):(rowSeq[i+1]), ]) } 2.通过for循环给变量a1.a2.a3赋值 [plain] v

C语言中的printf(),sprintf(),scanf(),sscanf()

在将各种类型的数据构造成字符串时,sprintf 的强大功能很少会让你失望.由于sprintf 跟printf 在用法上几乎一样,只是打印的目的地不同而已,前者打印到字符串中,后者则直接在命令行上输出.这也导致sprintf 比printf 有用得多. printf 语法: #include <stdio.h> int printf( const char *format, ... ); printf()函数根据format(格式)给出的格式打印输出到STDOUT(标准输出)和其它参数中.返回

C语言函数sscanf()的用法 (转载

在我的学习过程中,从文件读取数据是一件很麻烦的事,所幸有sscanf()函数. C语言函数sscanf()的用法 sscanf() - 从一个字符串中读进与指定格式相符的数据. 函数原型: int sscanf( string str, string fmt, mixed var1, mixed var2 ... ); int scanf( const char *format [,argument]... ); 说明: sscanf与scanf类似,都是用于输入的,只是后者以屏幕(stdin)

C语言函数sscanf()的用法(转)

转自:http://www.cnblogs.com/lyq105/archive/2009/11/28/1612677.html C语言函数sscanf()的用法 sscanf() - 从一个字符串中读进与指定格式相符的数据. 函数原型: int sscanf( string str, string fmt, mixed var1, mixed var2 ... ); int scanf( const char *format [,argument]... ); 说明: sscanf与scanf

C语言函数sscanf()的用法

sscanf() - 从一个字符串中读进与指定格式相符的数据. 函数原型: int sscanf( string str, string fmt, mixed var1, mixed var2 ... ); int scanf( const char *format [,argument]... ); 说明: sscanf与scanf类似,都是用于输入的,只是后者以屏幕(stdin)为输入源,前者以固定字符串为输入源. 其中的format可以是一个或多个 {%[*] [width] [{h |

【C语言天天练(十三)】printf、fprintf、sprintf和snprintf函数

#include <stdio.h> int printf(const char *format, ...); int fprintf(FILE *stream, const char *format, ...); int sprintf(char *str, const char *format, ...); int snprintf(char *str, size_t size, const char *format, ...); printf是标准的输出函数. fprintf传送格式化输

Sscanf函数 及其用法

sscanf()  :从一个字符串中读进与指定格式相符的数据.  函数原型:  Int sscanf( string str, string fmt, mixed var1, mixed var2 ... );  int scanf( const char *format [,argument]... );       sscanf与scanf类似,都是用于输入的,只是后者以屏幕(stdin)为输入源,前者以固定字符串为输入源. 简单地说就是输入的类型不同.          首先要先搞清楚,s