问题标签 [fgets]

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 投票
4 回答
4106 浏览

c - 分配给缓冲区时 fgets 泄漏

我无法理解为什么在一种情况下会发生以下代码泄漏,而在另一种情况下则不会。不同的是

我以为会是一样的。

完整代码如下。

0 投票
3 回答
2420 浏览

c++ - C++ 中的 fgets 等价物

与 C 函数等效的 C++ 是什么fgets

我看过getlinefrom ifstream,但是当涉及到行尾字符时'\n',它会终止并丢弃它。我正在寻找一个仅在结束行字符处终止但将行尾字符添加到char数组的函数。

0 投票
4 回答
21392 浏览

c++ - 如果不知道要读取的字符数,如何使用 fgets?

我需要读取一个文件并将其中的文本发送到一个字符串,以便我可以解析它。但是,程序不会确切知道文件的长度,所以如果我想使用 ,我会怎么做fgets(),或者有更好的选择吗?

笔记:

0 投票
3 回答
11176 浏览

c - fgets 指令被跳过。为什么?

每当我在 fgets 之前执行 scanf 时,都会跳过 fgets 指令。我在 C++ 中遇到过这个问题,我记得我必须有一些指令来清除标准输入缓冲区或类似的东西。我想C有一个等价物。它是什么?

谢谢。

0 投票
5 回答
1841 浏览

perl - 在 Perl 中,我可以在从文件(如 fgets)中读取行时限制行的长度吗?

我正在尝试编写一段代码,逐行读取文件并存储每一行​​,最多可存储一定数量的输入数据。除了防止吸入异常大的文件外,我还想防止最终用户作恶并将诸如数据演出之类的东西放在一行上。做$str = <FILE>仍然会读一整行,这可能会很长并且会破坏我的记忆。

fgets 让我通过让我指定在每次调用期间读取的字节数并基本上让我将一根长线分成我的最大长度来做到这一点。在 perl 中是否有类似的方法可以做到这一点?我看到了一些关于sv_gets但不知道如何使用它的东西(尽管我只是粗略的谷歌搜索)。

本练习的目标是避免在读取数据后进行额外的解析/缓冲。fgets 在 N 个字节后或到达换行符时停止。

编辑我想我有些困惑。我想读取 X 行,每行的最大长度为 Y。我不想读取超过 Z 字节的总数,并且我不想一次读取所有 Z 字节。我想我可以这样做并拆分线路,但想知道是否还有其他方式。如果这是最好的方法,那么使用读取功能并进行手动解析是我最简单的选择。

谢谢。

0 投票
7 回答
103576 浏览

c - C - scanf() vs gets() vs fgets()

我一直在做一个相当简单的程序,将一串字符(假设输入了数字)转换为整数。

完成后,我注意到一些非常奇特的“错误”,我无法回答,主要是因为我对scanf(),gets()fgets()函数如何工作的了解有限。(不过我确实读过很多文学作品。)

所以不用写太多文字,下面是程序的代码:

所以这就是我一直遇到的问题。首先,在使用gets()函数时,程序运行良好。

其次,使用 时fgets(),结果略有错误,因为显然fgets()函数最后读取换行符(ASCII 值 10)字符,这搞砸了结果。

第三,使用scanf()函数时,结果是完全错误的,因为第一个字符显然是-52 ASCII 值。对此,我没有解释。

现在我知道gets()不鼓励使用它,所以我想知道我是否可以fgets()在这里使用它,这样它就不会读取(或忽略)换行符。另外,scanf()这个程序中的功能是什么?

0 投票
4 回答
7169 浏览

c - 读取文件并获取字符串长度

gcc 4.4.4 c89

我正在使用以下代码使用 fgets 读取文件。我只想获得可能是 M 或 F 的性别。

但是,因为性别始终是字符串中的最后一个字符。我想我可以通过使用 strlen 来获得角色。但是,由于某种原因,我必须得到 strlen 和负 2。我知道 strlen 不包括 nul。但是,它将包括回车。

我正在阅读的确切文本行是这样的:

我的代码:

当我觉得它应该返回 16 时,strlen 返回 17。字符串长度包括回车。我觉得我应该做 - 1 而不是 - 2。

如果您理解我的问题,请提供任何建议。

谢谢,

编辑:

所以缓冲区将包含:

如果包含 \r,哪个会从 strlen 返回 17?我这样想对吗?

0 投票
4 回答
190 浏览

c - 不接受密码

在下面第 2 课()的代码中,我使用了密码进入函数,但是当我进入函数时,它没有输入密码并说密码不正确。不输入密码,我的意思是说我已经使用了获取但它在等待我输入密码。请不要告诉我不要使用获取!

我认为它是scanf,并且聚在一起制造问题!

0 投票
4 回答
1121 浏览

php - PHP 脚本越来越慢(文件阅读器)

我有一个脚本,当放在计时器上时,它会逐渐变慢。这相当简单,因为它所做的只是读取一行,检查它然后将其添加到数据库中,然后继续下一行。

这是它的输出逐渐变得更糟:

不幸的是,该文件大约为 20gb,所以当整个文件以增加的速度读取时,我可能已经死了。代码(主要)在下面,但我怀疑它与 fgets() 有关,但我不确定是什么。

提前致谢!

编辑:

注释掉 'save_record ($data, $line);' 似乎什么都不做。

0 投票
2 回答
4360 浏览

php - fgets 结果后的自动空格?

似乎 fgets 在它返回的所有内容之后都放置了一个空格。这是一些示例代码:

返回

为什么行的内容和“单词”之间有空格?为什么文件末尾没有这个空格(Blablablaword)?

你能告诉我如何摆脱这个空间吗?非常感谢 :-)!