- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我猜想,在 scanf("%d") 之后 ungetc() 可能会失败,因为 scanf 可能会为第一个非数字字符隐式调用 ungetc()。
但如果格式以 %c 结尾,就不会发生这种情况,对吗?
最佳答案
如果您阅读 source code for scanf (实际上是操作 scanf
的内部函数),您将看到 %c
说明符将触发 CT_CHAR
开关情况的执行,这不在标准输入上调用 ungetc
。所以你是对的。
这仅适用于 GNU libc,但我希望其他实现也有类似的行为。
关于c - ungetc() 是否保证在 scanf ("...%c"后工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16418837/
我使用以下代码将其输入到stdin“11+3”,并且 void main(void) { int number; printf("the first call : %d\n", sca
ungetc 只保证接受一个字节的回传。另一方面,我已经在 Windows 和 Linux 上对其进行了测试,它似乎可以使用两个字节。 是否有任何平台(例如任何当前的 Unix 系统)实际上只占用一个
我不明白这个程序是如何工作的? char c; int i; for(i=1;i<=5;i++) { scanf("%c",&c); printf("%c",c); un
我不明白这个程序是如何工作的? char c; int i; for(i=1;i<=5;i++) { scanf("%c",&c); printf("%c",c); un
假设我有一个由 fopencookie 创建的 FILE*,如果我在 FILE* 上调用 ungetc 会发生什么>?假设我在 FILE* 上设置了 setvbuf 作为 _IONBF 以使其无缓冲。
Python中的一些文件读取(readlines())函数 将文件内容复制到内存(作为列表) 我需要处理一个太大的文件 被复制到内存中,因此需要使用 一个文件指针(访问文件一个字节 一次)——就像在
在标准C库中,ungetc()不写入文件吗? 它只移动文件位置吗? 可以不事先阅读就使用吗?即它可以独立于其他 IO 函数使用吗? 是否可以在不需要一次一个字符的读取功能之后使用它,即一次读取多个字符
ungetc() 似乎在某些字符上失败。这是一个简单的测试程序: #include int main(void) { int c; printf("Type a letter and
是否有 ungetc 的 C++ 版本? 也就是说,我可以将角色放回 istream 吗? 最佳答案 是的。 istream::putback与 ungetc except if using unge
我想知道 std::cin::ungetc 接受多少个字符。它与 C 中的相同吗(因此可移植 1,见下文)? 相关 SO 帖子 "ungetc: number of bytes of pushback
int ungetc(int c, FILE *fp) 将字符 c 推回 fp,并返回 c 或 EOF 作为错误。 where as int putc(int c, FILE *fp) 将字符 c 写
我想在收到 SIGUSR1 时使用 ungetc 将一个“A”字符填回标准输入。想象一下,我有充分的理由这样做。 当调用 foo() 时,stdin 中的阻塞读取不会在收到信号时被 ungetc 调用
我猜想,在 scanf("%d") 之后 ungetc() 可能会失败,因为 scanf 可能会为第一个非数字字符隐式调用 ungetc()。 但如果格式以 %c 结尾,就不会发生这种情况,对吗? 最
我遇到过这样一个 getword 的例子。我了解所有检查等,但我对 ungetc 有疑问。 当c满足if ((!isalpha(c)) || c == EOF)且不满足while (isalnum (
我无法理解我的程序的行为。它调用 scanf,然后是 ungetc,然后是 printf。 我无法理解输出行为背后的原因。这是代码。如果有人澄清了行为,将会有很大的帮助。 int main() {
在我的代码中,我试图完成这样的事情(用伪代码编写): While not at EOF: Get line Write line to different file Skip
我是 C 初学者,我想连续调用 ungetc() 两次,尽管我知道在常规 C 中这是不允许的。有人告诉我可以修改 Fflush() 来完成这项工作,但我不知道该怎么做。 这是我的代码,我的Fflush
我在看一本关于linux编程的书时想到了,我在我的电脑上试了一下,代码运行良好,但我就是不明白它是如何工作的,希望有人能帮我解释一下, 提前致谢!我的代码如下: #include #include
谁能给我解释一下ungetch的用途?这是来自 K&R 第 4 章,您将在其中创建反向波兰计算器。 我在没有调用 ungetch 的情况下运行了该程序,在我的测试中它仍然可以正常工作。 int ge
我正在将 net-snmp 移植到一个嵌入式平台,该平台对文件系统的访问权限有限,但我偶然发现了一个大问题。有一部分核心代码使用了 ungetc() 函数,但我没有。当然有两种解决方案: A)使用我拥
我是一名优秀的程序员,十分优秀!