问题标签 [getc]

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.

0 投票
1 回答
109 浏览

c - 在 C 中的某些情况下,我如何才能拥有 getch() ?

我真的不知道如何输入标题,所以我想出了这个。所以基本上我想在 C 中制作某种蛇。但我不知道如何制作控件。假设您按下了左箭头并且蛇必须向左移动直到按下另一个键,但我无法想出代码,因为它总是停止并等待我按下键。

我在想这样的事情:

我的想法是等待一秒钟,如果没有按下键继续前一个键,但如果按下它来保存现在按下的键。

你有什么想法吗?

0 投票
1 回答
55 浏览

c - Cygwin:由于 stdio putc + 行缓冲而丢失流数据

以下程序的预期输出是:

这可以在例如 GNU/Linux 上看到。但是,在 Cygwin 上,实际输出是这样的:

从客户端的流中接收一个空行("\n"字符串)而不是"REPLY\n".

问题源于putc和行缓冲的组合。

  • server函数中,如果我们用 替换my_putsfprintf就会产生预期的输出。
  • server中,如果我们取出setvbuf将流切换到行缓冲的调用,也会产生预期的输出。
  • 如果我们改变my_puts它以使用fprintf(f, "%c", ch)而不是输出每个字符putc(ch, f),则会产生预期的输出。
  • 替换putcfputc没有区别。
  • 在服务器中,添加文件定位操作,如fseek(cli_stream, 0, SEEK_CUR)ISO C 要求的输入和输出之间(因此就在my_puts调用之前)没有区别。这包含在下面的代码中。

这个程序是否做错了什么导致这个奇怪的问题?

代码:

0 投票
2 回答
305 浏览

c - 修改 fflush() 以保证在 C 中连续调用 ungetc() 两次

我是 C 初学者,我想连续调用 ungetc() 两次,尽管我知道在常规 C 中这是不允许的。有人告诉我我可以修改Fflush()来完成这项工作,但我不知道该怎么做。

这是我的代码,我Fflush只允许一个ungetc(),我希望它允许两次。

0 投票
3 回答
408 浏览

c - 尽管 getc 成功使用相同的 fd 读取字符,但读取报告错误文件描述符

我有这个 C 代码:

getc正如预期的那样,从输入文件返回一个字符。但是read返回错误 (-1) 并errno设置为 9(错误的文件描述符)。显然文件描述符是好的,因为getc设法使用它来读取一个字符。

这里有什么问题?

0 投票
2 回答
774 浏览

c - 用 fgetc 或 getc 替换 getchar while(getchar() != '\n');

人们通常会提到

在清除输入缓冲区或溢出时。

fgetc或者getc也工作。例如:

人们总是使用 有什么特别的原因getchar吗?

使用fgetcor有什么缺点getc吗?

0 投票
1 回答
58 浏览

c - 为什么在 glibc 参考中测试 int 的符号被称为“草率代码”?

glibc 参考中,我们找到了这样的词:

...草率的代码,例如

必须重写...

为什么在 glibc 参考中测试 int 的符号被称为“草率代码”?

0 投票
1 回答
283 浏览

c - C: getc 返回 -1

我遇到的问题是在这一行:

getc 返回 -1。为什么?提前致谢。

0 投票
1 回答
261 浏览

c - C: 如何使用 getc 来避免产生非 UTF-8 字符?

我目前正在编写 ac 程序,它将接受 3 个参数、两个文件(一个输入和一个输出)和一个 int(输出行的最大长度,称为 x)。我想读取输入文件中的每一行并将前 x 个字符写入输出文件(有效地“修剪”文件)。

这是我的代码:

唯一的问题是,如果最后一个字符是单引号,它会打印出非 UTF-8 字符,如下所示:

0 投票
1 回答
53 浏览

raku - perl6 从 $*IN 输入多个多行 here-docs 的最佳方法是什么

我需要输入多个 HERE-DOC。我的代码有 2 个 while 循环。内部循环用于获取多行 here-doc。但是当我输入 Control-D 完成一个 here-doc 后,内部 while 循环不再运行,外部循环无限运行。修复它的最佳方法是什么?

为什么即使我将 $x 重置为 32 后,$x 仍会继续为 EOF?为什么 EOF 会卡在 $*IN 中?谢谢您的帮助。

0 投票
1 回答
276 浏览

c - 如何使用 getc() 显示从文件中读取的字符

当我尝试从名为“file1”的文件中读取输入时,我的程序正确显示了文件中的字符数,但采用了无法识别的字符格式。下面是代码