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

c - fgets 读取的字符过多

我有以下功能:

它读取的文件行是:

但是,当我打印每个字符直到 '\0' 我得到这个输出:

有没有人知道为什么它会读取额外的 3 和 4 个字符?(文件中没有多余的空格)。

注意:文件是通过以下方式打开的:

0 投票
5 回答
3920 浏览

c - C中合理的行缓冲区大小?

我正在使用 popen 来读取 shell 命令的输出。我将使用 fgets 逐行阅读。我的问题是如何为我的 char* 缓冲区选择最佳缓冲区大小?我记得一位教授告诉我们要包括<limits.h>和使用LINE_MAX这些东西。它在我的 Mac 上运行良好,但LINE_MAX在 Linux 上没有。

此邮件列表存档提出了相同的问题,但没有回答我的问题 http://bytes.com/topic/c/answers/843278-not-able-locate-line_max-limits-h

0 投票
5 回答
48422 浏览

c - 在C中将字符串添加到char数组

我有一个名为 buf 的 C 数组。这是它的定义:

char buf[1024];

现在,我当前的代码取自stdin并用于fgets()设置该数组,但是我希望使用代码来设置它。现在设置 buf 的行如下所示:

fgets(buf, 1024, stdin);

基本上,我想用“我的字符串”替换标准输入。最好的方法是什么?

0 投票
5 回答
19818 浏览

php - fseek() 逐行,而不是字节?

我有一个脚本可以逐行解析大文件。当它遇到无法处理的错误时,它会停下来,通知我们解析的最后一行。

这真的是寻找文件中特定行的最佳/唯一方法吗?(fseek()在我的情况下不可用。)

我使用它没有问题,它足够快 - 只是感觉有点脏。根据我对底层代码的了解,我认为没有更好的方法可以做到这一点。

0 投票
4 回答
2141 浏览

c - 奇怪的 fgets() 问题

在使用 GCC 编译后,我正在尝试在 Windows 7(64 位,如果重要的话)上运行此代码。如果我将 bufsize 声明为 int,则程序会冻结,并且 Windows 会通知我它已停止工作。如果我使用 #define bufsize 123 它可以正常工作,如果我自己用数字替换 bufsize 也可以正常工作。我在这里想念什么?

0 投票
2 回答
440 浏览

c - 使用 fgets() 读入和存储

我正在使用 fgets 从简单文件(例如 txt 文件)中读取文本,但是我需要能够跳回上一行。反正有没有使用 fgets 来做到这一点?还是我应该将文本存储在某种数组/结构中?

0 投票
5 回答
28724 浏览

c - 如何在 c 中使用 scanf 读取空格?

问题:我需要能够识别两个空格何时连续出现。

我已阅读以下问题:

如何从 \n 分隔文件中读取字符串

如何读取带有空格的scanf

我知道scanf问题:http ://c-faq.com/stdio/scanfprobs.html

输入将采用以下格式:

两个空格表示需要处理下一组数据并与自身进行比较。线的长度是未知的,每组中的数字或整数是未知的。两个空格最多可以分隔下一个数据集。

虽然我可以使用 fgets 和各种内置函数来解决这个问题,但我现在使用 scanf 解决问题可能会更容易。但是,如果不是这样,使用 fgets、strtok 和 atoi 将完成大部分工作,但我仍然需要连续识别两个空格。

以下将采用整数,直到输入非整数。

我需要它做的是读取空格,如果有两个连续的空格,我将程序对下一组数据做一些不同的事情。

一旦我得到一个空白,我不知道该怎么说:

感谢您的宝贵时间,并感谢您的帮助。

经验教训: 虽然 Jonathan Leffler 在下面发布了 scanf 的解决方案,但使用 getc 解决方案更简单一些(通过对内部 scanf、正则表达式和 char 的了解较少)。回想一下对正则表达式的更好了解,scanf 和 char 会使问题变得更容易,并且当然知道哪些函数可用,以及从一开始就最好使用哪个函数。

0 投票
1 回答
8420 浏览

c - 将这行文本读入结构的最简单方法是什么?

我有一个文本文件,其中包含以下形式的数据:

我需要将每一行放入一个类似的结构中,但是我想避免使用固定长度的数组(据我所知,fgets 的问题):

我对 C 很陌生。我应该使用 fscanf 还是 fgets?

0 投票
5 回答
239959 浏览

c - 如何使用 fgets() 从标准输入读取数据?

我编写了以下代码来从终端窗口读取一行,问题是代码陷入了无限循环。该行/句子的长度未定义,因此我计划将其部分读入缓冲区,然后将其连接到另一个可以realloc相应扩展的字符串。请问有人可以发现我的错误或提出更好的方法来实现这一点吗?

0 投票
3 回答
1422 浏览

c - C fgets 问题

甚至有上面的变量“结果”的目的是什么?什么都没做。从 fgets 返回的指针存储在其中,但仅此而已,它没有任何用途。