scanf()
格式化输入字符串、数字、字符
注意事项:
1:接收换行结束,可以通过%[^\n]接收空格
2:在scanf获取数据时,建议不要添加任何字符(空格除外)
3:有限定字符宽度的格式化 scanf("%1d%2d",&a,&b)
4:屏蔽数据类型 %*d p 屏蔽数字 %*c屏蔽字符
5:屏蔽一个区间之内的字符 %*[a-z]%c
printf()
格式化输出字符串、数字、字符
注意事项:
%5d 五位数,不足在前面补空格,多于5位正常显示
%05d 五位数,不足在前面补0
%.2f 截取两位小数,默认6位
%.4s 截取前四个字符
%-5d 左对齐
gets()
char*gets(char*s)
功能:
从标准输入读入字符,并保存到s指定的内存空间,直到遇到'\0'或读到文件结尾为止
参数:
s:字符串首地址
返回值:
成功:读入字符串
失败:NULL
例:
char arr[100];
gets(arr); 输入
puts(arr); 输出
gets(str)与scanf("%s",str)的区别
gets(str)允许输入的字符串含有空格
scanf("%s",str)不允许含有空格
注意:由于scanf()和gets()无法知道字符串s大小,必须遇到换行符或读到文件结尾为止才接收输入,因此容易导致字符数组越界的情况
puts()
int puts(const char* str)
功能:
标准设置输出字符串,在输出完成后自动输出一个‘\n'
参数:
str:字符串首地址
返回值:
成功:非负数
失败:-1
fgets()
char* fgets(char* s,int size,FILE*stream)
功能:
从steam指定的文件内读入字符,保存到s所指定的内存空间,直到出现换行符、读到文件结尾或是已读了sizeof-1个字符为止,最后会自动加上字符’\0‘作为字符串结束标志
参数:
s:字符串
size:指定最大读取字符串的长度(size-1)
stream:文件指针,如果读键盘输入的字符串,固定写为stdin
返回值: