C语言基础(12)-输入和输出
2017-01-18 17:00
232 查看
1. int scanf(const char *format, ...)
说明:scanf用于通过控制台输入字符串。
注意:
(1).通过scanf()函数输入的字符串,系统会自动在其后面补一个0,scanf默认回车和空格都是代表输入完成,这样会导致无法输入一个完整的字符串。
(2).scanf()函数并不检查char数组的下标,用户输入多少scanf就会保存多少,假如用户输入的字符长度超过了定义的char数组的长度,则会发生溢出。scanf函数是不安全的。
示例:
2. char *gets(char *str)
说明:从标准输入中读取一行,并将其存储到由str指向的字符串.
注意:
(1).gets函数只认回车代表输入完毕,空格只是一个普通字符而已,因此可以输出空格。
(2).gets函数同样有缓冲区溢出的问题。使用gets和scanf都会面临缓冲区溢出的问题,因此两者都不安全。
3. char *fgets(char *str, int n, FILE *stream)
说明:从标准输入中读取一行,并将其存储到由str指向的字符串.
注意:
(1).fgets函数有三个参数。第一个参数是char的数组,第二个参数是标明这个数组的大小,第三个参数如果是通过键盘输入可以固定写为stdin.
(2).fgets函数是安全的,不存在缓冲区溢出的问题。
(3).fgets函数在读取一个用户通过键盘输入的字符串的时候,同时把用户输入的回车键也作为字符串的一部分,因此使用fgets函数后在输出时,不需要添加\n。当输入长度超过了缓冲区长度时,多出的部分将会被截断。
4. int puts(const char *str)
说明:输出一个字符串。
注意:
(1).puts函数打印字符串,与printf不同,puts会在最后自动添加一个’\n’
(2).put函数不支持转义字符,比如%d,%s都不支持,puts函数只能简单输出一个字符串,而不能输出char,int,double等其它类型.
5. int fputs(const char *str, FILE *stream)
说明:输出一个字符串。
注意:
(1).第一个参数是char的数组,第二个参数如果只是用puts在屏幕输出的话可以固定写成stdout
(2).fputs不会自动输出一个\n
(3).fputs是puts的文件操作版本
说明:scanf用于通过控制台输入字符串。
注意:
(1).通过scanf()函数输入的字符串,系统会自动在其后面补一个0,scanf默认回车和空格都是代表输入完成,这样会导致无法输入一个完整的字符串。
(2).scanf()函数并不检查char数组的下标,用户输入多少scanf就会保存多少,假如用户输入的字符长度超过了定义的char数组的长度,则会发生溢出。scanf函数是不安全的。
示例:
#include <stdio.h> #pragma warning(disable:4996) void main() { char a[10] = {0}; scanf("%s",a); printf("%s\n",a); system("pause"); }
2. char *gets(char *str)
说明:从标准输入中读取一行,并将其存储到由str指向的字符串.
注意:
(1).gets函数只认回车代表输入完毕,空格只是一个普通字符而已,因此可以输出空格。
(2).gets函数同样有缓冲区溢出的问题。使用gets和scanf都会面临缓冲区溢出的问题,因此两者都不安全。
3. char *fgets(char *str, int n, FILE *stream)
说明:从标准输入中读取一行,并将其存储到由str指向的字符串.
注意:
(1).fgets函数有三个参数。第一个参数是char的数组,第二个参数是标明这个数组的大小,第三个参数如果是通过键盘输入可以固定写为stdin.
(2).fgets函数是安全的,不存在缓冲区溢出的问题。
(3).fgets函数在读取一个用户通过键盘输入的字符串的时候,同时把用户输入的回车键也作为字符串的一部分,因此使用fgets函数后在输出时,不需要添加\n。当输入长度超过了缓冲区长度时,多出的部分将会被截断。
#include <stdio.h> #pragma warning(disable:4996) void main() { char a[10] = {0}; fgets(a,sizeof(a),stdin); printf("%s",a); system("pause"); }
4. int puts(const char *str)
说明:输出一个字符串。
注意:
(1).puts函数打印字符串,与printf不同,puts会在最后自动添加一个’\n’
(2).put函数不支持转义字符,比如%d,%s都不支持,puts函数只能简单输出一个字符串,而不能输出char,int,double等其它类型.
#include <stdio.h> #pragma warning(disable:4996) void main() { char s[] = "hello world"; puts(s); system("pause"); }
#include <stdio.h> #pragma warning(disable:4996) void main() { char s[] = "hello world"; puts("%d%s",1,s); system("pause"); }
5. int fputs(const char *str, FILE *stream)
说明:输出一个字符串。
注意:
(1).第一个参数是char的数组,第二个参数如果只是用puts在屏幕输出的话可以固定写成stdout
(2).fputs不会自动输出一个\n
(3).fputs是puts的文件操作版本
#include <stdio.h> #pragma warning(disable:4996) void main() { char s[] = "hello world"; fputs(s, stdout); system("pause"); }
相关文章推荐
- 【C语言基础】-04字符输入/输出
- 【C语言基础】-02字符串和格式化输入/输出
- 郝斌的C语言基础 159-161 通过函数完成对结构体变量的输入输出
- java基础(12)- java的输入/输出(IO)包(2)
- C语言基础二 -----文件的输入与输出
- Linux-C基础知识学习:C语言作业-输入10个整数,输出其中最大的数
- 郝斌的C语言基础 164 学生管理系统(输入,排序,输出)
- Linux-C基础知识学习:C语言作业-输入m、n,并把m~n之间的不能被3整除的数输出
- C#语言基础— 输入与输出
- Linux-C基础知识学习:C语言作业-从键盘输入一个三位数,以逆序输出。例如输入456,输出654
- C语言基础学习基本数据类型-变量的输出与输入
- C语言基础:字符串和格式化输入/输出
- C语言基础:进制转换,变量,常量,表达式,基本数据类型,输出函数,输入函数,运算符. 分类: iOS学习 c语言基础 2015-06-10 21:39 25人阅读 评论(0) 收藏
- C语言基础学习基本数据类型-变量的输出与输入
- C语言基础学习基本数据类型-字符专属的输入输出函数
- C语言基础学习基本数据类型-字符专属的输入输出函数
- java基础(12)- java的输入/输出(IO)包(2)
- C语言基础:字符输入/输出验证
- Linux-C基础知识学习:C语言作业-输入某个学生的信息(姓名,年龄,5门功课成绩),计算平均成绩并输出。(待完善)
- Linux-C基础知识学习:C语言作业-用for循环完成:输入10个数,求它们的和并输出