下面就几个常用的字符串输入输出函数做个小小的总结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字符串输入输出函数的更多相关文章

  1. C语言 · 字符串输入输出函数

    算法提高 3-2字符串输入输出函数   时间限制:1.0s   内存限制:512.0MB      描述 编写函数GetReal和GetString,在main函数中分别调用这两个函数.在读入一个实数 ...

  2. Java实现 蓝桥杯VIP 算法提高 3-2字符串输入输出函数

    算法提高 3-2字符串输入输出函数 时间限制:1.0s 内存限制:512.0MB 描述 编写函数GetReal和GetString,在main函数中分别调用这两个函数.在读入一个实数和一个字符串后,将 ...

  3. C++中的字符串输入输出函数详解

    常见的输入问题: 1.直接用cin输入(当然可以使用cout直接输出): 1)string s; cin >> s; //只接收回车键和空格前面所输入的字符!!!!! 一旦输入空格,cin ...

  4. C语言字符串输入输出函数(gets()函数、puts()函数、fgets()函数、fputs()函数)

    scanf("%s", str) 不能读取空白字符,遇到第一个空白字符就停止读取. gets(str) 读取整行输入,直至遇到换行符,丢弃换行符储存其余字符,并在末尾添加 \0.与 ...

  5. C++中的字符串的输入输出函数、空字符与空格的区别、字符变量赋值和字符串初始化

      一.字符串输入输出函数 1.  cin.get()   逐个字符输入输出 2.  cin 可以将整个字符串一次性输入,但是,cin将空格.Tab和回车键,因此不能用于数组的一次性输入. 注意:ci ...

  6. 文件输入输出函数fgetc/fputc及fgets/fputs等文件指针位置的变化

    文件打开后才可以对文件进行操作.也就是说,文件必须经历打开-操作-关闭的过程.如前所述,C语言对文件的操作都是通过调用标准I/O库函数来实现的.文件操作实际是指对文件的读写.文件的读操作就是从文件中读 ...

  7. c语言的输入输出函数

    参考文章: http://blog.sina.com.cn/s/blog_784f40b80100psg9.html C语言输入输出函数分为两类: 1.格式化输入输出函数 2.非格式化输入输出 --- ...

  8. C语言中最常用的三种输入输出函数scanf()、printf()、getchar()和putchar()

    本文给大家介绍C语言中最常用的三种输入输出函数scanf().printf().getchar()和putchar(). 一.scanf()函数格式化输入函数scanf()的功能是从键盘上输入数据,该 ...

  9. C语言中输入输出函数

    1.1.1 格式化输入输出函数Turbo C2.0 标准库提供了两个控制台格式化输入. 输出函数printf() 和scanf(), 这两个函数可以在标准输入输出设备上以各种不同的格式读写数据.pri ...

随机推荐

  1. 解决https证书验证不通过的问题

    1.报错信息 java.security.cert.CertificateException: No name matching api.weibo.com found; nested excepti ...

  2. RMI原理及简单示例

    分布式对象 在学习 RMI 之前,先来分布式对象(Distributed Object):分布式对象是指一个对象可以被远程系统所调用.对于 Java 而言,即对象不仅可以被同一虚拟机中的其他客户程序( ...

  3. WeMall商城系统的Android app商城中的wemall-mobile代码

    wemall-mobile是基于WeMall的android app商城,只需要在原商城目录下上传接口文件即可完成服务端的配置,客户端可定制修改. [适合研究学习,支持wemall3.x版本] 1.快 ...

  4. ES3:ElasticSearch 索引

    ElasticSearch是文档型数据库,索引(Index)定义了文档的逻辑存储和字段类型,每个索引可以包含多个文档类型,文档类型是文档的集合,文档以索引定义的逻辑存储模型,比如,指定分片和副本的数量 ...

  5. java Pattern和Matcher详解

    结论:Pattern与Matcher一起合作.Matcher类提供了对正则表达式的分组支持,以及对正则表达式的多次匹配支持. 单独用Pattern只能使用Pattern.matcher(String ...

  6. latex lstlisting

    转自 http://blog.csdn.net/lydyangliu/article/details/9208635 \usepackage{graphicx}\usepackage{xcolor}\ ...

  7. python 接口自动化测试--框架整改(五)

    代码结构: 目标架构: 1.用例分析器,自动根据接口的参数,类型生成测试用例 2.数据分析器,自动维护接口参数数据,动态数据自动生成,返回结果自动查询判断 3.核心调用引擎,分SOAP和HTTP两种, ...

  8. NDK 开发实例二(添加 Eigen库)

    上一篇,我已经阐述了如何创建一个简单的NDK实例: NDK 开发实例一(Android.mk环境配置下) 在上一篇的基础上,我们来添加Eigen库,然后做一个简单实例. Eigen是一个高层次的C + ...

  9. 如何修改SVN客户端中保存的密码

    本文主要讲述Linux命令行下怎么修改已经保存的客户端密码: 第一步,删除 subvision文件: rm -rf ~/.subvision 第二步:执行任意需要访问服务器的svn命令,会提示是否永久 ...

  10. Java 枚举详解

    为什么要用枚举 在博客系统中,一篇文章有且可能有这几种状态, 数据库中article文章表中state字段存储数值,表示其状态: 0(已发表Published) 1(草稿Draft) 2(撤回撤回(D ...