问题标签 [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 投票
0 回答
161 浏览

perl - Perl 5.14.2 中 SIGINT 处理程序中的 Perl 的 getc 问题

这是我的测试环境:

代码片段:

运行程序后,首先打印“5678”,然后等待输入,然后输入“eeee”,然后输入“ctrl-c”,然后处理程序连续打印“1234”和“4444”,并跳过处理程序中的getc函数,然后它挂起等待输入(我猜它是仍在等待输入的处理程序之外的getc),我输入“q”,它打印“q”。

所以我的问题是:

  1. 为什么处理程序中的 getc 函数不起作用?在其他 perl 版本中似乎不存在该问题。
  2. 如何解决处理程序中的getc函数工作?
0 投票
4 回答
94010 浏览

c - 使用 getc 从控制台读取 \r (回车)与 \n (换行符)?

我正在编写一个基本上等待用户点击“输入”然后执行某些操作的函数。我发现在测试时有效的是:

我遇到的问题,以及我最初尝试做的事情是:if (x == '\r')但在测试中,程序并没有让我按下回车键。这'\n'似乎对应于我从控制台输入。有人可以解释其中的区别吗?另外,为了验证,把它写成if... == "\n"字符串文字?即用户实际上必须"\n"从控制台输入,对吗?

0 投票
1 回答
344 浏览

c - 用“argv[2]”替换一个字符

我这里有一些代码:

第一个问题:我必须用 argv[3] 上的一些其他字符替换我的文件 (argv[1]) 上 argv[2] 中的一些字符...我知道这c = argv[3]是一个大错特错的恐怖事情但是...怎么能我用我在 argv[3] 中写的字符替换我的“c”??

第二个问题:如果在 argv[2] 我有 2 个字符,第一个是要替换的字符,第二个是我必须替换的字符,我该怎么写?

0 投票
2 回答
262 浏览

c - 知道最大字符的行 (C)

我用C编写了一个程序,以查找具有最大字符数的

这是代码:

我可以很容易地找到字符数最多的行,但是如何打印出来呢?

0 投票
3 回答
1318 浏览

c - K&R的getc和putc实现对吗?

在 K&R 第 8 章中,它具有 putc 和 getc 函数的自定义实现。在getc的第一个定义中,如果参数是stdin,根据_iob的定义,函数会尝试写入地址0,因为这是_iob[0].ptr和_iob[0].base的值分配的。这合法吗?

代码:http: //ideone.com/AIkCA

_iob 的定义:

0 投票
2 回答
171 浏览

c - 在 C 中使用 getc() 函数的未知逻辑错误

我正在尝试使用 getc() 函数将一个文件的内容复制到另一个文件中。但是我犯了一个未知的逻辑错误,因为以下程序的输出是一堆垃圾。

nums.csv 的内容是:

程序返回:

0 投票
2 回答
250 浏览

newline - 将返回/输入捕获为按键以退出程序

该程序读入一个文件,然后要求用户输入要显示的行数。显示行数后,将再次提示用户打印更多行或按回车键退出。

我很难通过捕获换行符和/或回车来退出。如果按下返回按钮,我的程序不会退出,但如果我输入 ascii 值(10 是换行的十进制),我的程序不会退出

我希望程序在按下 enter 时退出。

0 投票
1 回答
826 浏览

c - fgetc,getc 导致程序在读取文本文件时崩溃

怎么了?我很确定我的语法是正确的,因为它没有警告。另外它不会过去getc(document);我尝试了fgetc(document);相同的结果。我没有得到什么?(我曾经printf("$");看到它崩溃的地方)

0 投票
2 回答
1126 浏览

perl - IO::Handle 获取和取消获取 unicode 字符

我想我遇到了 Unicode 和 IO::Handle 的问题。我很可能做错了什么。我想从 IO::Handle 获取和取消获取单个 unicode 字符(不是字节)。但我遇到了一个令人惊讶的错误。

来自 ungetc() 行的错误消息是“在 unicode.pl 第 21 行中说的格式错误的 UTF-8 字符(字符串的意外结尾)。” \x{00c5}“未映射到 unicode.pl 第 21 行的 utf8。” 但这是字符的正确十六进制,它应该映射到字符。

我使用十六进制编辑器来确保 A-RING 的字节对于 UTF-8 是正确的。

这似乎是任何两字节字符的问题。

最后的输出'\xC5'(字面意思是四个字符:反斜杠,x,C,5)。

我已经通过从文件而不是标量变量中读取来测试了这一点。结果是一样的。

这是为 darwin-2level 构建的 perl 5,版本 16,subversion 2 (v5.16.2)

并且脚本以 UTF-8 保存。这是我检查的第一件事。

0 投票
1 回答
2496 浏览

c - fgetc 总是返回值 1

有以下功能:

在 main() 主体中,我使用以下代码来使用上述函数:

;

无论我在 myfile.txt 中放入什么,程序都会打印出来。例如,对于 abc,打印出 111。

我知道函数中的 c 应该声明为 int 以正确地将其与 EOF 进行比较。此外,我希望将文本文件中每个字符的 ASCII 集中的 int 代码打印出来(97 表示 a,...)。我无法弄清楚为什么它会打印出'ones'......你知道原因吗?先感谢您。