问题标签 [putchar]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
printf - 如何在 C 中使用 getchar 函数和 putchar 函数?
所以我的代码读入一个单词并将其显示给用户反词。这就是我所拥有的:
我将如何使用 getchar 和 putchar 而不是使用 scanf 和 printf?
c - K&R book 1.5.1 文件复制
我浏览了有关此 K&R 示例的网站,答案似乎围绕着“为什么这是一个类型 int 或什么是 EOF?” 有点家伙。我相信我理解这些。这是我不明白的结果。我曾期望此代码采用单个字符,打印它然后等待另一个字符或 EOF。
我看到的结果是输入等到我按回车键,然后我输入的所有内容都会显示出来,等待输入的时间越长。
while 循环是否只是“循环”,直到我用 carrage return 结束文本流,然后显示 putchar(c) 隐藏在某处的内容?
代码是:
现在,如果我在刚才上线之前偷偷输入一个 putchar(c),我就会得到我所期望的。我仍然必须输入文本流并按回车键。结果是流的第一个字符,程序退出。
显然对我来说还有很大的差距。
谢谢您的帮助
c - 为什么 getchar() 读取整行?
程序示例如下:
我的问题是,地球上的水流是如何运作的?我似乎无法理解程序采用的路径。char
变量会神奇地变成一个数组吗?如何putchar()
打印整行而不是输入的第一个字符?应该如何获取和打印一个字符,读取并打印一整行字符,同时使用 switch 语句更改它们?它是否在输入时对其进行测试char
?但是,字符串是如何打印为字符串的呢?
编辑:我做了一些研究,我读到了一个键盘缓冲区,这似乎是我困惑的原因。据我所知,getchar()
接收putchar()
和输出单个字符。我知道循环会在getchar()
返回时不断询问下一个“缓冲”字符,我应该得到它仍然有点困惑,但更令人困惑的是putchar()
. 在循环结束时,当它中断并进入条件时,它是否打印一个字符,然后在每次执行循环时继续打印另一个字符?仅在读取新行时停止循环?如果是这样,只有以前打印的内容会显示在屏幕上吗?然后如果是这种情况,那么打印的字符会在每次执行时彼此相邻打印,从而产生字符串的错觉?我需要对此进行确认,以及何时char
丢弃和更换?印完之后?它在哪一行接收next
缓冲区队列中的字符?
c - 字符数组在 c 中读取 3 个输入而不是 5 个输入?
我的代码如下
输出是:
为什么会这样?它是读取 5 个字符并将它们转换为大写。
c - 对 C 中的 putchar 结果感到困惑
我有一个关于C语言putchar函数的问题。在学习的时候,我偶然发现了以下语句:
printf("%c\n",putchar('A'+1)+2);
当我编译并执行程序时,结果是BD。我不明白当我们键入putchar('A' + 1)
结果时会是 B,但是我们是如何得到 D 的?这个函数不是一次返回一个字符吗?提前致谢
c - 为什么即使在非规范模式下我仍需要按“Enter”才能读取和输出输入?
我正在测试GNU libc 手册中的这段代码:
即使终端设置为非规范模式,我仍然需要按 enter 才能接收输入。
但是,如果我将: 更改putchar(c)
为write(STDOUT_FILENO, &c, sizeof(char))
,它会像我想的那样正常工作。
c - 函数 putchar 和 getchar
谁能帮我弄清楚这些功能是如何工作的。
有两段代码 - 有和没有while 循环。
第二个是
问题是第一个工作正常,而第二个返回它获得的所有字符(例如,如果输入是2222,则函数返回2222)。为什么不返回2?
c - 将整数添加到C中的char
我正在从 K&R 书中学习 C,我在网上找到了针对书中任务的建议解决方案。可以在此处找到任务和建议的答案(该页面上的最后一个解决方案) http://clc-wiki.net/ wiki/K%26R2_solutions:Chapter_1:Exercise_13
这行代码在哪里:
例如,如果函数 MIN 返回 2,我们将其添加到 '\260'
这种将 int 添加到 char 的方法是什么?这个 '\260' 值是多少?
c - 没有人,从不检查 putc、fputc、puts、fputs、putchar(可能还有 printf)函数的返回值。为什么?
也许这是“不太可能”,例如在一系列putchar s 中,一个或两个不明显地失败,而前面和后面的确实成功了?
或者,至少在 99.9999% 的实现中,它们可能根本就没有“return suchandsuch”语句?
或者,连续错误检查,在每个字节之后(在 putchar、putc、fputc 的情况下),可能会导致太大的性能下降?
c - putchar() 函数:模棱两可的输出
这是一个简单的代码,试图从字符数组中清除空格,但输出不像我所期望的“YasserMohamed”。