c中的标准io函数

1、printfscanf

 

特征

参数

返回值

printf

打印的字符数

scanf

读取数字:

①跳过空白字符,读取符号字符或数字字符,直到费数字字符

②将数字后读到的那个空白字符放回输入

③未能读入指定的输入时,就留下这个字符,下次读取,而不会无视它

读取字符串:

①忽略开始的空白字符,读取一个字符串,直到遇到空字符

②将字符串后读到那个空白字符放回输入

③在读出的“字符串”后加上'\0'称为一个真正的字符串

读取字符:

所有字符一视同仁,空白字符也一样

①成功读入的项目的个数

②没有读取任何项目则为0,检测到文件结尾则返回EOF

 

2、单字符IOputchargetchar

很简单,与putcgetc很相像,只有参数的差别,前两者通过后两者定义。这是大多数文本处理程序的核心。

3、putsgets

字符串IO

 

特征

参数

返回值

puts

自动添加换行符'\n'

字符串地址

gets

①读取字符串,直到'\n'

②读取换行符并丢弃

③添加空字符'\0'

接收字符数组名

①正常:字符串的地址,也即接收字符数组名

②出错或遇到文件尾:返回空指针NULL

然而gets函数有个缺陷:不检查目标数组是否能够容纳输入,很不安全,事实上,这正是蠕虫病毒的原理。对于重要的编程,应该使用fgets()而不是gets()

 

 

特征

参数

返回值

fputs

不会自动添加换行符

①字符串

②文件

fgets

①读取字符串,读到n-1个字符或者换行符为止

②读取并保存换行符,并不丢弃

③添加空字符'\0'

①接收数组

②最大读入字符数n

③文件

gets

 

总结:

scanfprintf用于混合类型数据的读取、转换及输出,或者希望每次读取一个单词。

执行速度是比较慢的。

Gets从键盘读取文本更好,当然,在重要场合,应使用fgets

这几对IO输入时互相搭配的。

 

 

 

posted on 2012-10-06 15:44  lxjsailor  阅读(392)  评论(0编辑  收藏  举报

导航