当前位置:网站首页 > Haskell函数式编程 > 正文

ifstream get函数(if(getchar()=='\\n'))



目录
  • getchar解析
    • 一、getchar的返回类型及作用机制
    • 二、根据一段代码初步了解
    • 三、实例(“输入密码”)进一步了解
      • 1、代码达不到理想效果
      • 2、输入的密码中有空格
  • 总结

getchar——读取字符的函数

blockquote>

int getchar(void)

/blockquote>

返回类型为int,参数为void.

有人可能会有疑惑,getchar既然是读取字符的,为什么返回类型是int呢?

1、getchar其实返回的是字符的ASCII码值(整数)。

2、getchar在读取结束或者失败的时候,会返回EOF。

blockquote>

EOF意思是end of file,本质上是-1.

/blockquote>

下面我们一起来看看下面这段代码什么意思

意思是

getchar先读取一个字符放到ch里面去,如果这个字符不等于EOF,就进入循环,打印这个字符。当getchar读到文件末尾或者结束时,它会返回一个EOF,此时结束循环。


我们来运行试一下

输入A,输出A;输入b,输出b…

当我们想要结束时,输入ctrl+Z,再按回车即可。

注意

,如果上面的代码不用while循环的话,输入123,putchar()只会输出1。因为一个getchar一次只能读取一个字符。

img referrerpolicy="no-referrer"src="https://zsrimg.ikafan.com/file_images/article//4434.png" />

img referrerpolicy="no-referrer"src="https://zsrimg.ikafan.com/file_images/article//4435.jpg" />

不是直接从键盘上来读取我们的数据

。它们和键盘之间有一个区域叫

缓冲区

输入函数先来看缓冲区中是否有数据,如果有,它直接就拿走了,不需要从键盘输入,如果缓冲区什么都没有,则需要从键盘输入,再拿走。

img referrerpolicy="no-referrer"src="https://zsrimg.ikafan.com/file_images/article//4436.png" />

scanf("%s", password);


br />后,就是下面这行代码:

int ch = getchar();

img referrerpolicy="no-referrer"src="https://zsrimg.ikafan.com/file_images/article//4448.png" />

先把缓冲区里清空

img referrerpolicy="no-referrer"src="https://zsrimg.ikafan.com/file_images/article//4449.png" />

br />这又是怎么回事呢?我们一起来看看

img referrerpolicy="no-referrer"src="https://zsrimg.ikafan.com/file_images/article//44410.png" />

scanf

就来取缓冲区中的数据,当它

读到空格的时候,它就不再读了

(这是scanf的一个作用性质)。

img referrerpolicy="no-referrer"src="https://zsrimg.ikafan.com/file_images/article//44411.png" />

img referrerpolicy="no-referrer"src="https://zsrimg.ikafan.com/file_images/article//44412.png" />

需要把缓冲区中的东西先全部清走

用一个循环,只要没读到

,我们就一直用getchar读

img referrerpolicy="no-referrer"src="https://zsrimg.ikafan.com/file_images/article//44513.png" />

是我们想要的效果。

以上就是关于getchar的用法的实例解析。

到此这篇关于C语言中getchar的用法以及实例的文章就介绍到这了,更多相关C语言中getchar用法实例内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

到此这篇ifstream get函数(if(getchar()=='\\n'))的文章就介绍到这了,更多相关内容请继续浏览下面的相关推荐文章,希望大家都能在编程的领域有一番成就!

版权声明


相关文章:

  • ip报文格式分析题(ipv4报文格式解析)2024-12-29 22:54:06
  • 安装信息是什么文件(安装信息是什么格式的)2024-12-29 22:54:06
  • 计算机零基础编程入门的书(计算机编程零基础教程)2024-12-29 22:54:06
  • 支付方式图片搞笑(支付方式图片表情包)2024-12-29 22:54:06
  • 支付方式图片国际结算(支付结算的支付方式)2024-12-29 22:54:06
  • mysql窗口函数执行顺序(mysql窗口函数从哪个版本开始有)2024-12-29 22:54:06
  • 鸿蒙软件后缀格式(鸿蒙系统软件的后缀)2024-12-29 22:54:06
  • 报文格式(报文格式错误怎么解决)2024-12-29 22:54:06
  • 生成范围内的随机数(生成范围内随机数的函数)2024-12-29 22:54:06
  • 读取pcap文件(pcap文件格式)2024-12-29 22:54:06
  • 全屏图片