C语言中printf(),sprintf(),scanf(),sscanf(),fscanf()的用法和区别

时间:2022-09-05 22:22:47

(1) scanf 和 printf

 

     scanf 从 stdin 中接受输入,将数据以指定的格式输出到变量.

     scanf 函数原型是: int scanf ( __const char *__restrict __format , ...) __wur,  其中 ... 是变长的变量参数. 例如: scanf("%d  %f",&i,&f) 表示将标准输入输入的参数赋值给变量i和f。

 

     printf 将变量以指定格式输出到stdout

     printf 函数原型是: int printf ( __const char *__restrict __format , ...) ,例如:printf("%d",i)表示将变量i的值到标准输出。

(2) fscanf 和 fprintf

 

     fscanf 从 文件 中接受输入,将数据以指定格式输出到变量

     fscanf 函数原型是: int fscanf (FILE *__restrict __stream__const char *__restrict __format, ...) __wur,例如 fscanf(fp,"%d  %f",&i,&f) 表示将文件指针代表的当前数据,往往是一行输出到变量i和f。

 

     fprintf 将变量以指定格式输出到文件

     fprintf 函数原型是: int fprintf (FILE *__restrict __stream__const char *__restrict __format, ...),例如 fprintf(fp,"%d %f",i,f);

 

 

(3) sscanf 和 sprintf

 

     sscanf 从 字符串 中接受输入,将数据以指定格式输出到变量,常用做 将字符串转化为其它变量

     sscanf 函数原型是: int sscanf (__const char *__restrict __s, __const char *__restrict __format, ...) __THROW, 例如 sscanf(p,"%d",&i) 表示将p表示的字符串转化为整型变量,并赋值给i,若指针 p 指向的字符串是"12345",则 i = 12345 。

 

     sprintf 将变量以指定格式输出到字符串,常用作 将其它类型的变量转化为字符串

     sprintf 函数原型是: int sprintf (char *__restrict __s, __const char *__restrict __format, ...) __THROW,例如 sprintf(p,"%d",i),若 i =12345,则指针p指向的内存存储的是字符串"12345".

 

 

这几种函数还支持正则表达式,功能很强大,经常使用。

 

相关资料值得看:

 

C语言中printf(),sprintf(),scanf(),sscanf(),fscanf()的用法和区别: 

 http://blog.sina.com.cn/s/blog_74a459380101oo8o.html

sprintf,你知道多少?  http://blog.csdn.net/sjf331/archive/2005/04/07/339254.aspx

sscanf,scanf,fscanf中的正则表达式 

 http://ybmmwjl.blog.163.com/blog/static/656387812010102691254484/

scanf和sscanf

http://wenku.baidu.com/view/3e3250160b4e767f5acfce85.html