问题标签 [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.
perl - Perl 5.14.2 中 SIGINT 处理程序中的 Perl 的 getc 问题
这是我的测试环境:
代码片段:
运行程序后,首先打印“5678”,然后等待输入,然后输入“eeee”,然后输入“ctrl-c”,然后处理程序连续打印“1234”和“4444”,并跳过处理程序中的getc函数,然后它挂起等待输入(我猜它是仍在等待输入的处理程序之外的getc),我输入“q”,它打印“q”。
所以我的问题是:
- 为什么处理程序中的 getc 函数不起作用?在其他 perl 版本中似乎不存在该问题。
- 如何解决处理程序中的getc函数工作?
c - 使用 getc 从控制台读取 \r (回车)与 \n (换行符)?
我正在编写一个基本上等待用户点击“输入”然后执行某些操作的函数。我发现在测试时有效的是:
我遇到的问题,以及我最初尝试做的事情是:if (x == '\r')
但在测试中,程序并没有让我按下回车键。这'\n'
似乎对应于我从控制台输入。有人可以解释其中的区别吗?另外,为了验证,把它写成if... == "\n"
字符串文字?即用户实际上必须"\n"
从控制台输入,对吗?
c - 用“argv[2]”替换一个字符
我这里有一些代码:
第一个问题:我必须用 argv[3] 上的一些其他字符替换我的文件 (argv[1]) 上 argv[2] 中的一些字符...我知道这c = argv[3]
是一个大错特错的恐怖事情但是...怎么能我用我在 argv[3] 中写的字符替换我的“c”??
第二个问题:如果在 argv[2] 我有 2 个字符,第一个是要替换的字符,第二个是我必须替换的字符,我该怎么写?
c - 知道最大字符的行 (C)
我用C编写了一个程序,以查找具有最大字符数的行。
这是代码:
我可以很容易地找到字符数最多的行,但是如何打印出来呢?
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 的定义:
c - 在 C 中使用 getc() 函数的未知逻辑错误
我正在尝试使用 getc() 函数将一个文件的内容复制到另一个文件中。但是我犯了一个未知的逻辑错误,因为以下程序的输出是一堆垃圾。
nums.csv 的内容是:
程序返回:
newline - 将返回/输入捕获为按键以退出程序
该程序读入一个文件,然后要求用户输入要显示的行数。显示行数后,将再次提示用户打印更多行或按回车键退出。
我很难通过捕获换行符和/或回车来退出。如果按下返回按钮,我的程序不会退出,但如果我输入 ascii 值(10 是换行的十进制),我的程序不会退出
我希望程序在按下 enter 时退出。
c - fgetc,getc 导致程序在读取文本文件时崩溃
怎么了?我很确定我的语法是正确的,因为它没有警告。另外它不会过去getc(document);
我尝试了fgetc(document);
相同的结果。我没有得到什么?(我曾经printf("$");
看到它崩溃的地方)
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 保存。这是我检查的第一件事。
c - fgetc 总是返回值 1
有以下功能:
在 main() 主体中,我使用以下代码来使用上述函数:
;
无论我在 myfile.txt 中放入什么,程序都会打印出来。例如,对于 abc,打印出 111。
我知道函数中的 c 应该声明为 int 以正确地将其与 EOF 进行比较。此外,我希望将文本文件中每个字符的 ASCII 集中的 int 代码打印出来(97 表示 a,...)。我无法弄清楚为什么它会打印出'ones'......你知道原因吗?先感谢您。