您的位置:首页 > 编程语言 > C语言/C++

20161216C语言基础17_字符串处理函数之fgets与gets

2016-12-16 12:40 295 查看
字符串处理函数:



字符串输入函数:

  scanf:每次只能接收一个单词,无法接收整行的数据,

  gets:主要用于接收一整行的输入,传递参数为一个需要接收数值的数组(之后在新标准C11中被废弃了,会导致缓冲区溢出,不安全),会丢弃换行符后面的数据。(变成可以不用这个了)

  gets_s:他属于C11标准中是一个可选项,也就是有的编译器可以用这个函数,有的不支持这个函数!会丢弃换行符后面的数据。如果输入超出长度,就会报错,程序就终止了,编译器不同,里面具体处理方法也可能不一样,C标准为,当输入的数量大于缓冲区大小的时候,他会将缓冲区前面的首字母置为0,编程空字符串,然后把缓冲区全部读取完,交给编译器处理,VS下结果就是抛出异常!

  fgets:会传递三个参数1:数据存储控件2:当前读取数据最大长度3:会使用stdin,fgets多用于文件输入,必须指明输入来源为键盘(stdin),不会丢弃换行符后面的数据,,如果输入长度大于限制,就会只读取前面部分,下次读取的话就不用输入了,(一般输入一行用这个)。

  puts:会在字符之后添加换行符(不管原来字符串是什么样,输出完成后再输出一个换行符),经常和gets_s一起使用。

  fputs:不会再之后添加换行符(但原来如果用fgets接收输入的话,本身字符串就有一个换行符,所以输出的时候会有换行符),一般和fgets一起用。



  getchar:每次从stdin标准输入里面读取一个字符,可以不停的读取,一直到你想结束为止!通过这个函数可以创建自己想要的读取方式。

  putchar:

  stdin:

  stdout:
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  c语言