C字符串输入输出函数

Posted 浅恋湾

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C字符串输入输出函数相关的知识,希望对你有一定的参考价值。

下面就几个常用的字符串输入输出函数做个小小的总结TAT

使用时添加头文件:#include<stdio.h>.

scanf("格式控制字符串",变量地址列表):(printf),每次只能接收一个单词,无法接收整行数据

gets(字符数组名或指针):读取一整行的输入,以回车结束读取,如果用来保存接收到数据的空间不够大就会导致缓冲区溢出,覆盖缓冲区之后的数据,在C11中被废弃.gets()在接收数据时,输入换行符时会丢弃,不会被读取,没有换行的效果,读取的换行符被转换为‘\0’空字符,并由此来结束字符串。成功,返回与参数相同的指针。

puts(缓冲区):将‘\0‘转换为回车换行(输出时将添加换行符),其调用方式为,puts(s):其中s为字符串字符输出时会在串尾添加换行符。

get_s(缓冲区,最大长度):缓冲区不够大时运行时会抛出异常,较为安全。

fgets(缓冲区,读入数据最大长度长度,标准输入流stdin/文件句柄):fgets()在接收数据时敲下的回车不会被丢弃,回车会被同样读取到缓冲区。如果缓冲区空间不够大,超出STRLEN-1(用来保存结束字符‘\n‘的1个字节)时,输出函数会分两次全部输出fgets()获取到的数据,第一次输出指定长度的数据,第二次输出超出stdin中超出的数据部分。成功,则返回第一个参数相同的指针。

fputs(缓冲区,标准输出流stdout):输出时不会添加换行符,同printf。

getchar():返回类型为int型,返回值为用户输入的ASCⅡ码,出错返回-1。

测试代码

#include<stdio.h>

#define STRLEN 10  

void main()

{  

     char str[STRLEN] = { 0 };

     while (gets_s(str,STRLEN)!=NULL||str[0]!=‘\n‘)  

         {   

                 printf(str);   

                 puts(str);  

        }

    printf("Done!");  

    while (fgets(str, STRLEN, stdin) != NULL || str[0] != ‘\n‘)  

       {   

             printf(str);  

            fputs(str, stdout);  

        }  

     return 0;

}

以上是关于C字符串输入输出函数的主要内容,如果未能解决你的问题,请参考以下文章

C语言 字符数据输入输出

C语言 字符数据输入输出

C/C++-style输入输出函数

C语言:输入一个字符串,然后逆序输出

C语言编程,写一个函数,使输入的一个字符串按反序存放,在主函数中输入和输出字符

C语言中如何实现多组数据输入输出?