A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

    学到文件操作的时候被字符输入搞晕了,查了好久后大概算是清楚了吧。我试着理一下。
ch = 'z';   FILE *fp;    这两是为了下面的用法举例。
  • fgetc(FILE *stream)      用法:ch = fgetc(fp);           从文件中获取一个字符。
                                             或:ch = fgetc(stdin);          从键盘获取一个字符。
                         一般从文件中读取字符,是个函数。
  • getc(FILE *stream)       用法:ch = getc(fp);            从文件中获取一个字符。
                                             或:ch = getc(stdin);           从键盘获取一个字符。
                         一般从标准输入设备获取字符,是个宏。
       在c语言中getc和fgetc用法没区别,但是由于getc是个宏,有时候使用结果会不同的。详细的我也不是很明白,有兴趣可以自己查查。

  • getch()       用法:getch(); 或 ch = getch();            从键盘获取一个字符,不显示在显示屏上。
  • getche()     用法:getche(); 或 ch = getche();        从键盘获取一个字符,显示在显示屏上。
  • getchar()    用法:getchar(); 或 ch = getchar();     从键盘获取字符存入缓存区,再从缓存区依次获取一个字符。

       getch和getche不是c的标准库里的函数,要用的话要有提供这个函数的库函数。getche和getchar的区别是,getche不经过缓存,用户从键盘输入一个字符后立刻获取这个字符,也不用回车。getchar会等用户输入字符或字符串,将它存入一块缓存区中,用户按了回车之后(回车也存入缓存区),再依次从缓存区中取一个字符。getch经常用来暂停程序,然后按任意键继续。getchar可以结合while循环吸收用户输入的无效字符串。
  getchar和getc、fgetc的关系
      getchar == getc(stdin) == fgetc(stdin)    
  注意getc和fgetc还是有一点点区别的,但是理解上这么理解是可以的。


4 个回复

倒序浏览
好多没见过,基础班都有讲,还是楼主自己扩展的
回复 使用道具 举报
基础班没讲这么多啊
回复 使用道具 举报
linexs 发表于 2015-12-3 23:18
好多没见过,基础班都有讲,还是楼主自己扩展的

写代码的时候看到有这些,就顺便了解了下。
回复 使用道具 举报
吃饱就睡 发表于 2015-12-4 00:06
基础班没讲这么多啊

基础班只讲以后学习要用的,而且是填鸭式。很多时候知识点没细讲,课外扩充很有必要。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马