`
decentway
  • 浏览: 157458 次
  • 性别: Icon_minigender_1
  • 来自: 重庆
社区版块
存档分类
最新评论

pointer on C(c和指针学习笔记)1

 
阅读更多

 

1.getchar

  函数名: getchar
  功 能: 从stdin流中读字符
  用 法: int getchar(void);
  注解:
  getchar有一个int型的返回值.当程序调用getchar时.程序就等着用户按键.用户输入的字符被存放在键盘缓冲区中.直到用户按回车为止(回车字符也放在缓冲区中).当用户键入回车之后,getchar才开始从stdin流中每次读入一个字符.getchar函数的返回值是用户输入的第一个字符的ASCII码,如出错返回-1,且将用户输入的字符回显到屏幕.如用户在按回车之前输入了不止一个字符,其他字符会保留在键盘缓存区中,等待后续getchar调用读取.也就是说,后续的getchar调用不会等待用户按键,而直接读取缓冲区中的字符,直到缓冲区中的字符读完为后,才等待用户按键.
所以下面的程序才会输出这种情况:
#include<stdio.h>
#include <stdlib.h>
void main(){
	char a;
	while ((a=getchar())!=EOF)
	{
		printf("%c\n",a);
	}
}
  注意!:输入中的换行也会被getchar捕获!所以下图才会出现两个换行!



 2.EOF与'\n'区别

EOF :文件结尾符,ctrl+z

\n :换行符

3.gets与puts!

【4】功能:从stdin流中读取字符串,直至接受到换行符或EOF时停止,并将读取的结果存放在buffer指针所指向的字符数组中。换行符不作为读取串的内容,读取的换行符被转换为null值,并由此来结束字符串。  【5】返回值:读入成功,返回与参数buffer相同的指针;读入过程中遇到EOF(End-of-File)或发生错误,返回NULL指针(没有说换行符也返回NULL,所以只用用ctrl z来结束。)。所以在遇到返回值为NULL的情况,要用ferrorfeof函数检查是发生错误还是遇到EOF。  【6】注意:本函数可以无限读取,不会判断上限,所以程序员应该确保buffer的空间足够大,以便在执行读操作时不发生溢出。如果溢出,多出来的字符将被写入到缓冲区后面的内存位置,这将破坏一个或多个不相关变量的值。这个事实导致gets函数只适用于玩具程序

4.各种符号:

,换行(\n)就是光标下移一行却不会移到这一行的开头,回车(\r)就是回到当前行的开头却不向下移一行.

Enter键按下后会执行\n\r这样就是我们看到的一般意义的回车了,所以你用16进制文件查看方式看一个文本,就会在行尾发现"\n\r"

 

  • 大小: 4.4 KB
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics