fgets相关内容

getline如何使用fgets限制输入量

GNU手册 此引言来自GNU手册 警告:如果输入数据为空字符,则无法分辨.所以除非您知道数据不能包含null,否则不要使用fgets.别用它来读取用户编辑的文件,因为如果用户插入一个空字符,您应该正确处理或打印清晰的字符错误信息.我们建议使用getline代替fgets. 像往常一样,我花了很多时间才问一个问题,五年前我确实在Stack Overflow上找到了一个类似的问题:为 ..
发布时间:2021-05-06 20:59:51 其他开发

PHP:尝试使fgets()在CRLF,CR和LF上同时触发

我正在使用proc_open和fgets($ stdout)在PHP中读取流,试图获取每一行. 许多linux程序(程序包管理器,wget,rsync)仅对行使用CR(回车)字符,这些字符会定期“就地"更新,例如下载进度.我想一看到这些更新(作为单独的行). 此刻,fgets($ stdout)一直读到LF,所以当进度进行得非常缓慢(例如大文件)时,它将一直读直到完全完成,然后将所有更 ..
发布时间:2021-05-06 20:59:48 PHP

fgets()是否始终以\ 0终止char缓冲区?

即使已经到达EOF,fgets()是否始终以\ 0终止char缓冲区?看起来确实如此(它确实在ANSI K& R书中介绍的实现中确实如此),但我想我想确定一下. 我想这个问题也适用于其他类似的函数,例如gets(). 编辑:我知道在“正常"情况下会附加\ 0,我的问题针对的是EOF或错误情况.例如: FILE * fp;字符b [128];/* ... */如果(feof(fp)) ..
发布时间:2021-05-06 20:59:44 其他开发

fgets()在字符串中包含新行

我从文档中提取了单词,并将所有单词打印在屏幕上,但是在每个单词打印之后,都有一个空白行.如何避免读取新行或将新行添加到字符串中? int main(void){文件* f;f =(“单词","r");字符字符串[100];while(fgets(string,100,f)){printf(“%s",字符串);}} 此代码不是复制粘贴的,因此我本可以忘记一些小片段,但应该可以工作.在word ..
发布时间:2021-05-06 20:59:40 其他开发

从文件中读取行并将它们存储在数组中

我无法逐行从文件中读取文本并将每行存储到数组中.然后,我需要打印出我得到的数组. 我不确定是否为该数组正确分配了空间.我在 read_one_line()函数中的 fgets()遇到了分段错误. 我的代码: #include#include char * read_one_line(FILE * fp,char *行);char * ..
发布时间:2021-05-06 20:59:36 其他开发

在getchar()之后立即使用fgets()

voidread_stdin(trace_t *跟踪,state_t状态,action_t ** action_list){//初期int c;while(((c = getchar())!= EOF& c!='#'){如果(my_isalpha(c)== LOWERCASE){状态[c-ASCII_CODE_LOWER_A] ='1';}}printf(“%s \ n",状态);char st ..
发布时间:2021-05-06 20:59:34 其他开发

Fgets错误seg错误

是否有任何理由导致较早编译的程序由于fgets而在某个时间段出现故障?我完全没有更改任何与之相关的代码.突然我相信它无法打开文件,但是我在十五分钟前用文件对其进行了测试....我所做的只是添加了搜索功能,所以我不明白问题是什么.... 是我通过PuTTy连接的服务器吗? int createarray(int ** arrayRef,FILE * fptr){int size = 0,i ..
发布时间:2021-05-06 20:59:31 其他开发

在C中使用fgets和strcmp

我正在尝试从用户那里获取字符串输入,然后根据他们输入的输入来运行不同的功能. 例如,我问,“您最喜欢的水果是什么?"我希望程序根据输入的内容进行注释...我不确定如何执行此操作.这是我到目前为止的内容: #include#include炭果[100];主要的() {printf(“您最喜欢的水果是什么?\ n");fgets(水果,100,std ..
发布时间:2021-05-06 20:59:28 其他开发

fgets被跳过

我有个小程序,我想先问一个选项然后再问一个文件名. //之前的一些代码printf("###################### \ n");printf(“#1.注册文件#\ n");printf(“#2.获取全局列表#\ n");printf(“#3.下载文件#\ n");printf(“#4.退出/退出#\ n");printf("###################### \ n") ..
发布时间:2021-05-06 20:59:25 其他开发

使用fgets将数据读入未初始化的char指针变量时,在第二次读取时崩溃

我知道我们无法使用fgets将数据读取到未初始化的char指针中.关于stackoverflow的这一点,有很多问题.所有答案都表明您无法将数据加载到未初始化的指针变量中. 第一个代码片段中显示的程序能够使用fgets填充第一个未初始化的char指针(* str2),但是在尝试将数据读取到第二个未初始化的char指针(* str3)时崩溃. 我可以使用传统方法使其工作,例如在填充之前预 ..
发布时间:2021-05-06 20:59:22 其他开发

fgets在换行符之前设置null char后清除输入流

我有一个程序,用户输入两个输入.由于我无法控制用户输入的内容,因此用户可以超过数组的固定大小.由于 fgets() appends 会在空字符之前保留换行符的结尾,因此如果用户超出预期大小时换行符无法容纳,则该空字符截断输入.当用户点击Enter时,换行符是否仍存在于输入流中?如果是这样,这是为什么 fgets()由于第一次输入中的换行符而第二次跳过的原因吗? #include ..
发布时间:2021-05-06 20:59:19 其他开发

C中的fgets()函数

我知道每个人都告诉我使用fgets而不是因为缓冲区溢出而获取.但是,我对 fgets()中的第三个参数有些困惑.据我了解,fgets依赖于: char * fgets(char * str,int num,FILE * stream); char * str 是将输入内容存储到的ptr. num 是要读取的最大字符数. 但是什么是 FILE * stream ?如果我只是在提示 ..
发布时间:2021-05-06 20:59:16 其他开发

Fget跳过输入

我尝试环顾四周,但似乎找不到错误所在.我知道它一定与我使用fgets的方式有关,但是我无法弄清它到底是什么.我已经读过,将fgets和scanf混合会产生错误,所以我什至将第二个scanf更改为fgets,它仍然跳过其余的输入,只输出第一个. int addstudents = 1;字符名称[20];char morestudents [4];为(学生= 0;学生 ..
发布时间:2021-05-06 20:59:13 其他开发

从stdin,C读取未知的行数

我在读取未知大小的stdin时遇到问题.实际上,它是.txt文件中的表格,我通过调用参数'#includeint main(int argc,char * argv []){字符[10] [1024];int i = 0;while(feof(stdin)== 0){fgets ..
发布时间:2021-05-06 20:59:10 其他开发

使用fgets()和strtok()在C中逐行读取文件?

我正在尝试使用fgets和strtok()逐行读取文件,并创建每个不同信息行的链接列表. 现在,我只是将信息放入一个数组中,只是为了试图弄清楚如何正确地读取信息,但是它不能正常工作. 在while(fgets)部分中,似乎可以将所有内容正确加载到数组中并打印出来.但是,在执行完该循环并尝试打印出整个数组之后,我得到的结果确实很奇怪...这仅是最后一行的一部分,而大部分都不是完整的单词或 ..
发布时间:2021-05-06 20:59:07 其他开发

fgets的回车

我正在运行以下代码: #include#include#includeint main(){文件* fp;if((fp = fopen("test.txt","r"))== NULL){printf(“无法读取文件\ n");出口(1);}char str [50];fgets(str,50,fp);printf(“%s",str);返回0 ..
发布时间:2021-05-06 20:59:04 其他开发

在scanf之后使用fgets

我想摆脱缓冲区溢出,我使用了 fgets 而不是 scanf 来限制字符.但是,每当我在 fgets 之前用 scanf 输入内容时,它就无法正常工作. 此代码正常工作 #includeint main(){字符名称[10];printf(“您是谁?\ n");fgets(name,10,stdin);printf(“很高兴认识您,%s.\ n",姓名);返回(0); ..
发布时间:2021-05-06 20:59:01 其他开发

在PHP中导入带有亚洲字符的CSV

我正在尝试将带有泰语字符的CSV或Unicode文本导入MySQL.MySQL保存泰语字符没有问题.问题是,当我使用fgetcsv或fgets时,会得到垃圾来换成泰语字符.像这些字符一样,ตู้เซฟเหล็ก变成9?I?@ ???? @ ???%?G. 我还有另一种方式可以读取CSV文件吗?也许可以正确读取它们的功能? 解决方案 函数fgets和fgetcsv使用系统区域设置来进行 ..
发布时间:2021-04-27 19:52:13 PHP

将fgets的值返回到主函数

函数 fWord 询问我的输入,并应返回遇到的第一个单词(直到第一个空格).它可以在Online Visual Studio上运行,但是如果我尝试使用codeBlocks进行编译,则不会打印我的输入. #include#include#includechar * fWord();char *测试;int main(){测试= fWo ..
发布时间:2021-04-22 20:41:01 其他开发

从大文件读取几行数据的最快方法是什么

我的应用程序需要从300GB左右的大型csv文件中读取数千行,其中包含十亿行,每行包含多个数字.数据如下: 1,34,56,67,678,23462,...2、3、6、8、34、523,547,648,34657 ......... 我尝试过 fget 在c中逐行读取文件,但是即使在Linux中使用 wc -l 时,它也确实花费了非常长的时间,只是为了读取所有线,花了相当长的时间. ..
发布时间:2021-04-15 19:26:14 其他开发