C语言字符串输入输出梳理
- 前言
- 1、什么是字符串
- 2、输入函数
- 1.scanf
- 2.gets
- 3.fgets
- 总结
前言
在学习c语言过程中,总是遇到字符串输入出错问题,今天学习完梳理一下。c语言输入主要是用scanf、gets、fgets、…等函数。
1、什么是字符串
字符串是以’\n’结尾的字符数组,定义字符串有字符串常量"hello world"、char类型数组char str[11]={“hello world”}、指向char的指针char *str=“hello world”。
2、输入函数
1.scanf
如果用scanf()把字符串读入字符数组中,不要使用&,读到空白(换行符、制表符、空格)时停止。
int main()
{
char str[100] = { 0 };
printf("please input words:");
scanf("%s", str);
printf("%s", str);
return 0;
}
2.gets
gets()读取整行输入,直至遇到换行符,然后丢弃换行符,存储其余字符,并在这些字符的末尾添加一个空字符使其成为一个字符串。
int main()
{
char str[100] = {0};
printf("please input words:");
gets(str);//遇到换行符会将缓冲区内的字符读出,并抛弃换行符
puts(str);
return 0;
}
3.fgets
fgets( char* _Buffer, int _MaxCount, FILE* _Stream)
第一个参数为要写入的字符串变量,第二哥参数为读入字符的最大数量,第三个参数为要读入的文件,在输入字符串时,要写入的文件为stdin。
使用fputs输出时,将文件名改为stdout。
在使用fgets获取字符串时,若输入的字符小于MaxCount,则在字符串结尾写入换行符’\n’。若使用puts输出时,会将结尾的换行符一同输出。
int main()
{
char str[size] = { 0 };
printf("please input words:");
fgets(str, size, stdin);//stdin 标准输入 读入的字符数为size-1
puts("fputs输出的为:");
fputs(str, stdout);
puts("puts输出的为:");
puts(str); //而且fgets将换行符保存至字符串末尾
return 0;
}
总结
以上就是对输入字符串函数的总结。
更多推荐
c语言字符串输入梳理总结
发布评论