fgets相关内容

fgets后Strlen给出了不正确的输出

我使用fgets读取了一个字符串.它可以正确打印,但是如果我尝试使用strlen或一会儿直到NULL来输出长度,它将返回一个错误的值.fgets不会以NULL结尾字符串吗? 字符字[256];fgets(word,sizeof(word),stdin);while(单词[i])i ++;printf(“%d",i); 对于字符串aba,它输出40. 解决方案 函数 fgets 还在字 ..
发布时间:2021-05-06 21:00:55 其他开发

使用已实现功能的C中的Unix尾部程序

我已经实现了自己的getline函数的动态内存版本: char * fgetline(FILE * f) 以30个字符的缓冲区开始,当缓冲区已满时,分配一个新的副本内容并释放旧的缓冲区.当我们得到 EOF 或 \ n 时,我们从函数中返回. 我想使用此功能来实现程序尾部的版本.输入来自标准输入,输出进入标准输出.如果第一个参数以-开头,则-之后的所有内容都是要打印的行数.如果未指定任 ..
发布时间:2021-05-06 21:00:52 服务器开发

php-fgets()使用套接字读取,仍然无法正常工作

到目前为止,我已经花了很多时间解决fgets()问题,但没有成功.我正在通过HTTP套接字从不同来源接收数据.到现在为止,我有更多不同的来源,效果很好. 我的目标是摆脱php的执行超时,只知道它在15秒后超时,但继续使用下一个源代码. 这是我的一小段代码: //这只是来自php.net,发现它的效果很好$ time = time();while(!($ temp = fsockope ..
发布时间:2021-05-06 21:00:49 PHP

如何使用fgets()多次安全地处理用户输入

很抱歉,如果我重复,但是我已经尝试了一切,而且我不知道为什么这段代码一直在中断.最高优先级的目标是使此代码安全地处理输入,或使用户可以在控制台中键入的任何内容都不会损坏它.但是,我还需要它能够多次运行.fgets()不允许我这样做,因为它会在某处持续读取'\ n'并阻止我在do/while循环结束时多次输入输入.我已经尝试过冲洗标准输入法,我已经尝试过 scanf(“%d * [^ \ n]"); ..
发布时间:2021-05-06 21:00:46 其他开发

使用fgets刷新标准输入

尝试通过控制台创建注册页面.我需要几个输入,并且我正在使用fgets,所以我需要刷新stdin.有关堆栈溢出的许多类似问题,都重定向到此处: http://c-faq.com/stdio/stdinflush2.html .我使用该链接获得了下面的代码.但是,这实际上不起作用.它说“用户名:",然后当我输入用户名并按Enter时,它只是转到控制台中的新的空行,我可以在其中输入更多内容.为什么会这样 ..
发布时间:2021-05-06 21:00:43 移动开发

使用指针符号从C中的键盘获取输入字符串?

我正在尝试从键盘输入字符串.当我尝试此操作无效时. char * s;fgets(s,80,stdin); 当我尝试使用上面的代码时,我遇到了分段错误.但是,当我使用下面的代码时,它可以工作,并且不会出现分段错误. char s [81];fgets(s,80,stdin); 为什么在尝试使用指针( char * s )存储字符串时出现分段错误? 解决方案 这是因为当您这样 ..
发布时间:2021-05-06 21:00:36 其他开发

C函数(fgets)缓解

我不明白为什么使用 fgets 进行输入总是为我的程序提供“错误密码". 但是,当我使用 gets()时,就像 gets(array); 一样. 预期的输出:当密码错误时,显示"Wrong Passwor",对于正确的密码,请让我看看我的“访问权限被授予": #include#includeint main(无效){int n = 15;字 ..
发布时间:2021-05-06 21:00:34 其他开发

使用“获取"用于C中的字符串输入

我一直在尝试使用 fgets 从用户那里获取字符串输入但是fgets并不等待输入,因此在进行调查后,我了解到 gets 函数似乎运行良好.我的问题是:1.如果我声明仅包含10个元素的数组,那么当我输入10个以上的字符时 gets 为什么起作用.这是我的代码 #includeint main(void){字符名称[10];printf(“请输入您的姓名:");gets(名字); ..
发布时间:2021-05-06 21:00:30 其他开发

尝试运行优化的C文件时出现fgets警告

这是一个大得多的文件的一部分,但这是唯一有问题的功能.这就是问题所在,如果我在未经优化的gcc中编译它,我会得到我想要的一切而不会出现问题.但是,如果我尝试将其编译为gcc -c -pg -02 main.c,我收到以下错误消息 解决方案 像其他任何输入函数一样, fgets 可能由于各种原因而失败.您可以从其文档中找到,如果发生这种情况,它将返回 NULL .但是,由于您不查看其返回值, ..
发布时间:2021-05-06 21:00:28 其他开发

响应XML包含"2000"和"20a0&"人物

我有一个使用PHP发送的WebDAV属性请求.HTTP请求如下所示: PROPFIND/path/to/无论HTTP/1.1用户代理:我的客户接受编码:放气深度:1主持人:example.com内容类型:text/xml; charset = UTF-8授权:Basic bLahDeBlah =内容长度:82连接方式:关闭 ..
发布时间:2021-05-06 21:00:21 PHP

C:fgets用于构建char *链表的用法

我错误地使用了 fgets()吗? 我正在尝试构建一个字符串链接列表( char * ),将每个新行添加到LL的末尾.我正在从文件中读取这些行,但是由于某些原因,只有在 while 循环内使用 fgets()时,每一行才会被当前正在处理的行覆盖,但是add函数似乎可以正确接收每一行. 如果我分别在 main()中添加行,则不会有问题. 这是一个示例输入文件: input.t ..
发布时间:2021-05-06 21:00:15 其他开发

从stdin中读取fget时,为什么忽略第一个字符串?

可能重复: Dev-C ++输入已跳过 我正在尝试使用fgets从stdin中读取字符串数组,但是我要读取的第一个字符串始终被忽略.是什么导致此问题? #includeint main(){我结构材料{字符名称[30];浮动价格,公斤;};未签名的m,nr;printf(“货车容量=");scanf(“%u",& m);printf(“材料数量=");putchar ..
发布时间:2021-05-06 21:00:12 其他开发

为什么不应该使用strtok(line,"\ n")来去除fgets()留下的换行符

fgets()是读取输入行的安全函数,但它存储换行字节'\ n'读取如果合适的话,从数组中的文件中删除. 在大多数情况下(即使不是大多数情况),必须先删除此新行,然后再进一步处理行内容. 可以使用几种简单的方法,但是我看到了一个紧凑而棘手的建议: strtok(line,"\ n");//删除换行符 为什么此方法不正确?为什么它并不总是有效? 解决方案 该方法非常棘手, ..
发布时间:2021-05-06 21:00:09 其他开发

如何使用fgets()通过c中的用户输入来控制while循环的执行?

我正在尝试用c编写程序,其中我可以通过来自stdin的用户输入来控制while循环执行.我已经通过scanf和getchar函数成功完成了它.现在,我尝试使用fgets()函数(建议广泛使用而不是scanf()函数)复制此函数.我写了以下代码: #include#includeint main(){char loop [4] =“是";printf(“% ..
发布时间:2021-05-06 21:00:06 其他开发

为什么以下代码不允许我使用fgets获得用户输入,但不能使用scanf?

这是一个较大程序的简短摘录,但是该程序的其余部分无关紧要,因为我认为我能够隔离该问题.我怀疑这与我使用fgets的方式有关.我已经读过,最好使用fgets而不是scanf,但是我似乎无法使其在这里正常工作.当我使用以下代码时,该程序没有给我输入数字的机会(而只是跳到了while循环,该循环检查输入的数字是否在正确的范围内): #include#include ..
发布时间:2021-05-06 21:00:03 其他开发

用C中的空格读取字符串

我正在尝试读取可能包含或不包含空格的字符串.“你好,世界".通过对用户输入的数字选择菜单进行以下操作.这只是我正在尝试做的一小部分复制品. #include#includeint main(void){字符行[3] [80];strcpy(line [0],“默认行1 \ n");strcpy(line [1],“默认行2 \ n");strcpy(l ..
发布时间:2021-05-06 21:00:00 其他开发

从用户读取输入时,fgets分段错误

这是使用ubuntu的令人反感的代码 char *名称;int main(无效){fgets(名称,sizeof(名称),标准输入);}无效的HUD(){printf(“%s",name);} 这是我的问题.我从scanf(“%s",& name)开始,并且在字符串末尾变得垃圾.在过去的两个小时中,一直在阅读有关scanf和fgets的文档,因为当您不知道所需数组的大小时(并且由于用户输入 ..
发布时间:2021-05-06 20:59:57 其他开发

避免`fgets()`重复输入匹配

我正在尝试从用户收集数据,我想使用 fgets()完成任务. 在我的 main.c 文件中: 做{用户= ask_user_info();//...将数据导出到文件的代码...免费(用户);fprintf(stdout,“您是否要添加其他用户?\ nChoice:");scanf(“%c [^ \ n]",& choice);} while(选择=='y'); 以下是我为完成工作而编写 ..
发布时间:2021-05-06 20:59:54 其他开发