问题标签 [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 回答
38244 浏览

c - C 中的 fgets() 函数

我知道每个人都告诉我使用 fgets 而不是因为缓冲区溢出而得到。但是,我对fgets(). 据我了解, fgets 取决于:

char* str是将存储我的输入的 ptr。

num是要读取的最大字符数。

但什么是FILE *stream?如果我只是提示用户输入一个字符串(比如一个句子),我应该只输入 " stdin" 吗?

我应该FILE *stdin在顶部附近输入main()吗?

0 投票
7 回答
4722 浏览

c - 可以哄 C 的 fget 使用文件中的字符串 *not* 吗?

具体来说,此处的代码示例效果很好,但仅当字符串存储在文件中时。

有时我需要它来处理生成的字符串(存储在字符串变量中),但我无法说服 fgets 的第三个参数使用字符串变量,因为它是指向 FILE 结构的指针

或者也许有一个与 fgets 等效的功能可以用于字符串?

有什么建议么?谢谢!

0 投票
1 回答
571 浏览

c - 在 c/cocoa 中读取和输出 UTF-8 字符串

在一个objective-c/cocoa 应用程序中,我使用c 函数打开一个文本文件,逐行读取它并在第三方函数中使用一些行。在伪代码中:

在输入文件包含特殊字符(例如重音符号或 UTF-8 BOM)之前,这可以正常工作,因此库函数会输出错位字符。


但是,如果我这样做:

然后一切正常,字符串输出正确。


那条[NSString...线在做什么而我不是?我在最初获取线路的方式上做错了吗?还是完全是别的东西?

0 投票
1 回答
233 浏览

c - 捕获从命令行返回的空输出并在其为空时显示一些消息

当脚本“ check.sh ”没有返回任何内容时,我需要在我的窗口中打印一些内容,这意味着当脚本没有返回任何输出时进行验证。

check.sh 不包含任何内容。它只是一个空白的 sh 文件,执行时不返回任何内容。我正在使用一个空的 sh 文件进行测试(我无法向您展示确切的脚本,这就是原因)。

当 check.sh 什么都不返回时,我想打印一些消息,例如通过 C 进行“配置某些东西”。

我用 "\n","\r","\0",NULL. 检查了缓冲区行(检查下面的模块)。我不知道脚本什么都不返回时会发生什么

我将把模块称为execute_command("sh check.sh")

这是我的模块

0 投票
3 回答
222 浏览

c - 写入作为结构成员的字符数组

这是我第一次在这里发布问题 - 我搜索了类似的问题,但没有找到我发现的问题。

这是我的标题中的片段:

这是我的主要功能的片段:

我不断收到段错误。如果我注释掉“memset()”行,我可以在收到段错误之前从输入文件中准确读取 3 行。

但是,如果我用本地 char[] 替换 'lineRead->buffer',我就可以完美地读取我的输入文件。

我对这里的结构有什么不了解的地方?我想我想要的是一个指向结构内 char[] 开头的指针,但显然这不是正在发生的事情。

编辑:对不起,忘了说明:我这里没有使用动态内存。

0 投票
3 回答
19875 浏览

c - 来自标准输入问题的 fgets [C]

我正在编写一个处理文件的程序。我需要能够将数据作为结构输入,并最终将其读出。我目前遇到的问题是这段代码:

例如,如果我想要姓名地址和电话号码,并连续询问每个人(所以地址与上面几乎相同,除了用地址替换“姓名”),我发现它会跳过输入。我的意思是,我没有机会输入它。输出实际上是 Enter the name: Enter the address: (这里是提示我输入的地方)

0 投票
2 回答
2126 浏览

c - fgets - 省略 c 中的最后一行

基本上我的代码有问题——这是家庭作业,所以出于明显的原因,我宁愿不把它贴在这里。如果这样做对我来说真的很重要,那么我将不得不这样做,因为我被困住了。

我正在阅读 2 个文本文件,它也有一个分隔符,这些值来自命令行,假设这种情况下的分隔符是 xx

问题是我的代码没有正确执行最后一行

我得到一个输出

我希望你们可以在我不发布所有代码的情况下收集我做错了什么,但我的逻辑是基于这个原则的;

0 投票
6 回答
22333 浏览

c - 使用 fgets 读取的行上的 strcmp

我正在尝试比较两个字符串。一个存储在文件中,另一个从用户(stdin)中检索。

这是一个示例程序:

在此程序中,strcmp当输入为 时,返回值 -1 "bob"。为什么是这样?我认为他们应该是平等的。我怎样才能得到它,使他们是?

0 投票
3 回答
15182 浏览

c - 使用 fgets 时忽略多余的空格

我正在使用 fgets 和 stdin 来读取一些数据,我读取的最大长度为 25。通过我在此代码上运行的测试之一,我想要的数据后面有几百个空格 - 其中导致程序失败。

有人可以建议我在使用 fgets 时如何忽略所有这些额外的空格并转到下一行吗?

0 投票
2 回答
800 浏览

c - fgets() 是否总是以空值终止它返回的字符串?

这样做安全吗?是fgets用 null 终止缓冲区还是应该在调用之后和调用fgets之前将第 20 个字节设置为 null ?clean