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

c++ - scanf() 导致奇怪的结果

我有一段代码提出了一个有趣的问题(在我看来)。

如果您注意到要输入的数字的顺序是浮点数,然后是十进制数(基数,然后是指数)。但是当我使用整数基数和浮点指数输入输入时,它会产生一个奇怪的结果。

它似乎将浮点指数的第二个数字推回下一个输入。我希望有人能解释幕后发生的事情。我知道这是 scanf() 不检查其数组边界的工作,但如果有人能给我更深入的理解,我将不胜感激。感谢堆栈溢出。-MI

编辑。只是想感谢大家的意见。任何其他答案都更受欢迎。再次感谢,所以

0 投票
2 回答
18316 浏览

c - 如何知道 fscanf 中的换行符?

如何知道 fscanf 在文件中到达了新行 \n。我一直在使用我自己的函数来做到这一点。我知道我可以使用 fgets 然后 sscanf 来满足我所需的模式。但是我的要求并不稳定,有时我想得到 TAB 分隔的字符串,有时是换行分隔的字符串,有时是一些特殊字符分隔的字符串。因此,如果有任何方法可以了解 fscanf 的新行,请帮助我。否则也欢迎任何替代方式。

提前致谢。

0 投票
11 回答
414250 浏览

c - 你如何允许使用scanf输入空格?

使用以下代码:

用户可以输入他们的名字,但是当他们输入一个带有空格的名字时,就会Lucas Aardvark切断scanf()后面的所有内容Lucas。如何使scanf()允许空间

0 投票
6 回答
70727 浏览

c - scanf() 和 fgets() 的区别

fgets()我想知道和之间有什么区别scanf()。我使用 C 作为我的平台。

0 投票
4 回答
9347 浏览

c - scanf() 如何在操作系统中工作?

我一直想知道 scanf()/printf() 在硬件和操作系统级别实际上是如何工作的。数据流向哪里,操作系统在这些时间到底在做什么?操作系统会发出什么调用?等等...

0 投票
4 回答
2376 浏览

c - 如何从 AT CMGL 响应中检索电话号码?

我有一个用 C 语言编写的应用程序,它使用 AT 命令从调制解调器读取文本消息。来自调制解调器的典型 AT 响应如下所示:

该代码当前设置为仅从该行检索 id,这是第一个数字,它使用以下代码执行此操作:

这里,“line”是一个字符数组,包含来自调制解调器的一行,“entry”是一个整数,其中存储了 id。我尝试像这样扩展此代码:

我想我会使用 %*s 扫描第一对引号中的文本并跳过它,然后将下一对引号(电话号码)中的文本读入 phonenr 字符数组。

这不起作用(%*s 显然读取“REC”而下一个 %s 没有读取任何内容)。

一个额外的挑战是文本不限于“REC READ”,它实际上可以是很多东西,也可以是没有空格的文本。

0 投票
2 回答
2772 浏览

c++ - 如何使用带有 ddd 的 scanf 调试程序?

ddd遇到一个scanf语句时,它会显示“等待 GDB 准备好”消息。调试活动在此停止。请指导我克服这个错误。

我正在使用 amd64 速龙处理器。

0 投票
2 回答
6667 浏览

c - 关于 fscanf 中的指针的问题

我正在使用 C。我在使用 fscanf 函数的指针时遇到问题。当我尝试这样做时:

我的编译器给我一个警告说“格式参数不是指针”并且代码没有运行(我收到一条消息说“Water.exe 已停止工作”)。如果我将 x 替换为 *x,它就无法编译……这只是语法问题吗?

0 投票
5 回答
22965 浏览

c - 将存储为字符的十六进制字符串转换为C中的十进制

我得到了一个字符串 hex_txt,其中包含一个 4 位十六进制数字,按照代码中概述的方式,分成两个数组条目。我需要将其转换为十进制。以下是我的做法。

有没有更快或更有效的方法来做到这一点?这是我目前的临时解决方案,但我想知道是否有合适的方法来做到这一点。

0 投票
1 回答
2853 浏览

c++ - 不在乎scanf

想象一下:

你读入一个字符串,scanf()但你只需要字符串中的几个数据点。

是否有一种简单的方法可以丢弃无关信息,而不会失去检查是否存在适当数据的能力,以便您仍然可以轻松拒绝格式错误的字符串?

例子:

我想接受第一个字符串,但忘了啤酒,因为啤酒很糟糕。我想拒绝第二个和第三个字符串,因为它们显然不是 7/11 的合适列表;

所以我在考虑以下结构:

这样我会保持格式检查,但是我会为 [don't care] 放置什么不会让编译器发牢骚?

当然,我可以只创建一个以后不使用的变量,但这不是这个问题的重点。另外分别检查左侧和右侧是我不在这里寻找的明显解决方案。

那么,有没有办法不关心但仍然检查 scanf 和朋友中的一段字符串的类型?