问题标签 [scanf]

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 投票
2 回答
999 浏览

c++ - 在数据之前忽略 scanf 中的回车......以使用 conio.h 保持基于控制台的图形的布局

我很不幸在 vc++ 6 中使用 conio.h 来完成大学作业,

我的问题是我的图形设置在屏幕中央...

例如

现在,如果有人在输入“某物”之前不小心按了 Enter,那么光标将重置到下一行屏幕的左侧。

Iv 尝试使用 fflush(stdin) 和 getchar() 刷新键盘和 bios 缓冲区,就像我预期的那样没有用!

任何帮助/想法将不胜感激,谢谢,V

0 投票
3 回答
1179 浏览

c - 将函数转换为从 C 中的字符串而不是文件中读取

我的任务是更新当前从磁盘读取配置文件并填充结构的函数:

一个允许我们绕过将配置写入磁盘而直接将其传递到内存中的方法,大致相当于:

需要注意的几点:

  • 当前的 LoadFromFile 函数非常密集和复杂,以向后兼容的方式读取数十个版本的配置文件,这使得整体逻辑的重复非常痛苦。
  • 生成配置文件的函数和读取它的函数来自旧系统的完全不同的部分,因此不共享任何数据结构,所以我不能直接传递它们。我可能会编写一个包装器,但同样,它需要以向后兼容的方式处理传入的任何结构。
  • 我很想将文件按原样作为字符串传递(如上面的原型中)并将所有 fscanf 转换为 sscanf 但我必须手动处理指针的递增(并可能处理缓冲区溢出错误)。
  • 这必须保留在 C 中,因此没有像流这样的 C++ 功能可以在这里提供帮助

我错过了更好的选择吗?有没有办法创建一个实际上只是指向内存而不是磁盘的位置的 FILE *?非常感谢任何指针、建议或其他帮助。

0 投票
3 回答
2700 浏览

c - sscanf 包装函数以在 C 中推进字符串指针

我有一个函数,它会进行一系列调用sscanf(),然后在每次调用之后更新字符串指针以指向第一个未被使用的字符,sscanf()如下所示:

为了清理它并避免重复多次,我想将其封装成一个不错的实用程序函数,如下所示:

然后我可以简化如下调用以删除额外的参数/簿记:

不幸的是,我找不到将&length参数直接附加到 arg 列表末尾或以其他方式在newSscanf(). 有没有办法解决这个问题,或者我是否也可以在每次通话时手动处理簿记?

0 投票
5 回答
9063 浏览

c - C - 等效于 .NET Console.ReadLine

我需要完成与 .NET Console.ReadLine 函数提供的相同的行为。当用户按下回车键时,程序应该继续执行。

以下代码是不够的,因为它需要额外的输入:

有什么建议么?

0 投票
2 回答
3505 浏览

c - getchar() 是否等同于 scanf("%c") 和 putchar() 是否等同于 printf("%c")?

a = getchar()相当于scanf("%c",&a);?_

putchar(a)相当于printf("%c",a);哪里是a一个char变量?

0 投票
2 回答
30825 浏览

c - getc Vs getchar Vs Scanf 从标准输入读取字符

以下三个功能中:

getc getchar & scanf

哪个是从标准输入读取字符的最佳选择,为什么?

这些功能中的任何一个是否有任何已知的缺点或限制,从而使一个比另一个更好?

0 投票
1 回答
1039 浏览

c - 无法使用 sscanf 分隔字符串?

我有一个相关数字的文本文件,即;
1 2 2
3 2 1
3 4 3

每一行都是一条单独的信息,因此我试图一次读取一行,然后将其分成 3 个数字,但 sscanf 并没有按照我的预期进行。

在 fgets yields 后放入 printf:
1 2 2

但是在 sscanf 之后,变量 's' 和 'e' 为空,而 'd' 是一些我什至无法弄清楚它来自哪里的随机数。
不知道我做错了什么,任何帮助将不胜感激。

0 投票
2 回答
2400 浏览

c++ - 带信号的扫描

我有一个阻止 SIGINT 的信号,基本上说“对不起,你不能退出。\n”

问题是这可能在 scanf 期间发生。

如果在 scanf 期间发生这种情况,scanf 会将 printf 作为输入。

我怎样才能做一个 printf ,这将导致 scanf 基本上自动按回车键。我不在乎我得到不好的输入。我只想用 printf 或其他东西以编程方式完成该 scanf 。

过程:

scanf("get stuff") -> 用户可以输入东西。

-> SIGINT 发生并转到我的处理程序。

-> 处理程序对标准输出说“Blah blah blah”。

-> Scanf 已经接受了这个 blah blah blah 并且正在等待更多输入。

我如何做到这一点,以便当我返回 scanf 时完成(不在乎它收集了什么,我只是希望它在没有用户帮助的情况下继续)。

编辑:如果我发送两个信号,则 scanf 终止。我想以某种方式以编程方式模拟 scanf 的结尾。

0 投票
5 回答
3062 浏览

c - 将 fscanf 与动态分配的缓冲区一起使用

我得到以下代码:

我想将此代码转换为使用动态分配的变量,以便在经常调用此代码时不会出现严重的内存泄漏。因此,我尝试了这个:

不幸的是,这不起作用。我总是在 fscanf 调用的 if 语句之前收到“EXC_BAD_ACCESS”错误。我究竟做错了什么?

谢谢你的帮助!

-- 瑞

0 投票
3 回答
1471 浏览

c++ - 旧的(类似 C 的)fscanf 方法的现代等效(C++)风格是什么?

如果我想在读取带有分号分隔符的文件时将旧的 C 代码“升级”到新的 C++,那么最好的选择是什么: