gets() 与 scanf()
- scanf( )函数和gets( )函数都可用于输入字符串
- gets 能够接受空格、制表符Tab等.
- scanf 不能够接受空格、制表符Tab等.
#include<stdio.h>
int main()
{
char string1[15];
char string2[15];
printf("gets()输入带有空格的字符串\n");
gets(string1);
printf("scanf()输入带有空格的字符串\n");
scanf("%s",string2);
printf("\n打印gets()输入的字符串为: %s\n打印scanf()输入的字符串为: %s",string1,string2);
return 0;
}
输入数据为为:
gets()输入带有空格的字符串
abc abc
scanf()输入带有空格的字符串
abc abc
输出结果为:
打印gets()输入的字符串为: abc abc
打印scanf()输入的字符串为: abc
fgets()
fgets() 读取文件中的内容
char * fgets(char * s, int n, FILE *stream);
- s: 字符型指针,指向存储读入数据的缓冲区的地址。
- n: 从流中读入n-1个字符
- stream : 指向读取的流。
puts()与printf()
- 不同的换行符
- puts()函数会自动在字符串末尾添加一个换行符,这意味着它会自动换行,而printf()函数没有此功能。
- 输出内容不同
- puts()函数只能输出字符串,不能对输出和转换指令进行标准化,而printf()函数可以。