首页 文章
  • 0 votes
     answers
     views

    fgets没有读取一行的开头

    我无法使用fgets从文件中读取几行文本 . 该文件是一些基本用户数据,在第一次启动插件时写入包中的文件 . 随后启动插件应导致读取和交叉引用用户数据以检查用户的真实性 . 数据总是3行长,并且使用frwite完全按原样写入,并使用fopen打开 . 我最初的理论是只调用fgets 3次,将每行读入它自己的char数组,这是数据结构的一部分 . 问题是第一行被正确读取,第二行被读取,好像位置指示符...
  • 0 votes
     answers
     views

    fgets什么时候停止读线?

    我正在使用gdb调试我的程序,fgets(line,sizeof(line),fp2)从文本文件中读取任何内容 . 所以程序循环无限的侧面 while(!feof(fp2)) 并且EOF永远不会满足我不知道为什么? 我将部分代码放在上下文中, 这是输入文件: COPY START 1000 FIRST STL RETADR CLOOP JSUB RDREC ...
  • 0 votes
     answers
     views

    Segfault scanf和fprintf

    我正在尝试编写一个小型数据库程序,它将有5个函数,第一个是Add(),但我在scanf上遇到SegFault错误: void Add(); struct data{ char name[20]; char description[300]; int quantity; }; typedef struct data data...
  • 0 votes
     answers
     views

    C中的fopen / fread / fgets是否是PID安全的?

    各种用户正在浏览100%用C(CGI)编程的网站 . 每个网页都使用fopen / fgets / fread从文件中读取常用数据(如导航栏) . 如果各种各样的人浏览同一页面,每次打电话给fopen / fgets / fread会互相干扰吗?如果是这样,如何在C中解决? (这是一个Linux服务器,编译是用gcc完成的,这是用C编程的CGI网站 . ) 例: FILE *DATAFILE = ...
  • 2 votes
     answers
     views

    C-可以fgets接受NULL参数吗?

    我意识到C语言中有一些函数有可选参数,这意味着用户可以传递NULL作为参数值 . 我很好奇是否可以使用fgets() . 假设我想将整行作为字符串保存在文件中,换句话说,我希望fgets()在到达换行符(\ n)时停止,然后我可以执行以下操作吗? fgets(string, NULL, file); //where string is simply an array of char 我认为这是...
  • 0 votes
     answers
     views

    有时在PHP '<'符号影响fgets行读取时,fget不会读取完整行

    PHP fgets函数没有完全读取下面的文本文件行 . 我正在使用fgets逐行读取一些数据 . 未能完全阅读的行如下; %107A195U&lt;u--8+5-9+6-17+3-5v&lt;1 truncates to: %107A195U %113A120+&lt;l56+2l5-6+&lt;17+2-+6-+2 truncates to: %113A120+ 它只读取部分行,但只要...
  • 0 votes
     answers
     views

    如何使用fgets逐行读取文件

    我是编程的新手,所以有一些我不知道的基础知识和常识 . 我有一个关于如何正确使用fgets的问题 . 根据对fgets的解释,似乎fgets应该在读取n-1个字符,点击EOF或点击换行符时停止 . 例如,我创建了如下文本文件: red 100 yellow 400 blue 300 green 500 purple 1000 ... 颜色和整数由制表符分隔 . 当我创建这个文本文件时,我需...
  • 0 votes
     answers
     views

    C fgets()只处理最后一行

    我正在尝试编写一个接收.txt文件的程序,读取所有行,然后将每个单词存储到BST中 . 然后我执行inorder遍历以按字母顺序打印单词 . 如果文本文件只包含1行,则程序可以正常工作,但如果文本文件包含多行,则会出现意外结果 . 示例:文本文件: first line second line 仅输出: line second 完全丢失文本文件的第一行 . 我的主要方法是: #define M...
  • 0 votes
     answers
     views

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

    所以,我正在努力让我的程序逐行读取文件,将每一行(作为“字符串”)存储到链表中 . 以下while循环 FILE *f; char string[longest]; while(fgets (string, longest, f) != NULL) { //Reading the file, line by line printf(&quot;-%s&quot;, string); ...
  • 1 votes
     answers
     views

    试图了解fgets()

    我正在编写一个程序来逐行读取文件 . 我知道fgets()将读取新行,n-1个字符或EOF . 令我困惑的是fgets()如何知道前进到新行/它在文件中的位置? 为了更清楚,我知道在Java中你必须明确告诉扫描仪阅读下一行 . 但是在C语言中,我只是将fgets()置于while循环中并相信这是它的工作 . 我怎么能在逻辑上向我保证fgets()实际上是在推进到下一行,而不是在while循环中一遍...
  • 2 votes
     answers
     views

    使用fgets()从文件中提取行不起作用

    我正在尝试开发一个函数来读取文本文件的每一行,并将它们存储在一个字符串数组中(char **)但 fgets() 似乎不起作用,它总是返回一个空字符 . 这是功能 char** getLines(FILE* fp){ char** lines; int numberOfLines; //number of lines int the file char ch; //aux...
  • 4 votes
     answers
     views

    在'printf'之后使用'fgets'作为'fgets'运行的C语言问题'printf' [复制]

    可能重复:为什么printf在调用后不刷新,除非换行符在格式字符串中? (在C中) 我在使用 printf 和 fgets 时出现问题,因为我的代码 printf 早于fget编写,但它没有运行,它在 fgets 运行之后运行 . enum { max_string = 127 }; static char string[max_string+1] = &quot;&quot;; int m...
  • 0 votes
     answers
     views

    fgets in while循环

    下面的代码在while循环中的fgets调用中给出了一个分段错误(它没有到达while循环中的printf语句进行调试) . 我在这里展示了main(从命令行中获取args)和函数partOne的开始 . 有任何想法吗? int main(int lLen, char *fileName) { Word* allWords = (Word*)malloc(sizeof(Word)); ...
  • -1 votes
     answers
     views

    使用strtok,strlen,malloc和fgets基于内容动态分配数组 . C程序[关闭]

    我必须阅读带有学生名字和姓氏的文本文件 . 根据扭曲的程序要求,名字和姓氏是char POINTERS . 使用fgets读取每一行 . 因此,我在数组结构中有变量char * last_name,char * first_name . 例如: 比尔·克林顿 威廉,盖茨 我需要在运行时使用strlen和strtok指针分配它们的大小... 问题是,如果我使用strtok和strlen来查找名称的长...
  • 174 votes
     answers
     views

    从fgets()输入中删除尾随换行符

    我试图从用户那里获取一些数据并将其发送到gcc中的另一个函数 . 代码是这样的 . printf(&quot;Enter your Name: &quot;); if (!(fgets(Name, sizeof Name, stdin) != NULL)) { fprintf(stderr, &quot;Error reading Name.\n&quot;); exit(1); ...
  • 0 votes
     answers
     views

    为什么跳过fgets()?

    typedef struct { int serial_no; char s_name[100]; char s_street[50]; char s_town[20]; int s_speaker_no; int max_no_teachers; int no_applied_teachers; } type_seminar; void add_seminar() { int seminar...
  • 3 votes
     answers
     views

    PHP feof()在文件结束前返回true

    在feof()函数在文件结束之前返回true的最后几天,我一直在研究一个奇怪的PHP问题 . 下面是我的代码的框架: $this-&gt;fh = fopen(&quot;bigfile.txt&quot;, &quot;r&quot;); while(!feof($this-&gt;fh)) { $dataString = fgets($this-&gt;fh); i...
  • 0 votes
     answers
     views

    为什么fgets()工作错误?

    这是我的代码 if(passwordCorretta(ds_sock)){ printf(&quot;CLIENT: password aggiungi corretta\n&quot;); do{ printf(&quot;Cognome &gt;&gt; &quot;); fgets(cognome,sizeof(cognome),stdin); ...
  • -1 votes
     answers
     views

    为什么scanf失败但fgets有效?

    我要求用户输入是否要退出程序 . 有两个片段 . 一个使用scanf()函数读取输入,而第二个使用fgets()函数读取输入 . 使用scanf(),程序进入无限循环 . 使用fgets(),程序按预期执行 . 为什么scanf()失败,fgets()工作?我如何纠正它,以便scanf()可以工作?这是代码: First is with scanf() #include &lt;stdio.h&g...
  • -1 votes
     answers
     views

    读取行直到EOF成为C中的指针[关闭]

    我知道有关于它的数百个主题,但我需要再问一次 . 我有以下代码: char *str; while(fgets(&amp;str,50,stdin) != NULL &amp;&amp; &amp;str != EOF) { printf(&amp;str); } printf(&quot;Test&quot;); 我想在我的代码中读几行并用它们做些什么 . 在那个例子中,它只是打印 ...
  • 0 votes
     answers
     views

    Fgets编译错误

    我坚持看似初学者的编译错误: 我的简单程序: #include &lt;stdlib.h&gt; #include &lt;stdio.h&gt; #include &quot;Tiles_Circular_Linked_List.h&quot; #define MAX_LINE_LENGTH 128; int main(int argc, char **argv) { struct ...
  • 0 votes
     answers
     views

    是stdin缓冲区空C [重复]

    这个问题在这里已有答案: Is there any way to peek at the stdin buffer? 3个答案 我想写一个函数,告诉我stdin缓冲区是否为空 . 那么,这是代码: int buff_empty() { char buffer[3]; fgets(buffer, 3, stdin); if(strlen(buffer) &gt; 1) r...
  • 1 votes
     answers
     views

    如何在C中逐行读取文件?

    我有一个文本文件,最多100个IP地址,每行1个 . 我需要将每个地址作为字符串读入名为“list”的数组中 . 首先,我假设“list”需要是一个二维char数组 . 每个IP地址长度为11个字符,如果包含“\ 0”则为12个,因此我声明列表如下: char list[100][12]; 接下来,我尝试使用fgets来读取流: for (i = 0; i &lt; 100; i++) {...
  • 1 votes
     answers
     views

    为什么$ line = fgets(“data / $ f_handle”)不起作用

    好吧,情况看起来很简单,所以我做错了什么? $fname = &quot;students.dat&quot;; $f_handle = fopen(&quot;data/$fname&quot;, 'r'); $num_lines = count(file(&quot;data/$fname&quot;)); for($x=0; $x&lt;$num_lines; $x++) { $li...
  • 0 votes
     answers
     views

    有没有办法动态设置我们从fgets()获得的字符串的大小?

    我有一个变量char * cmd,我想从fgets()中存储一个字符串 . 有没有办法使用malloc或类似的变量动态分配内存?或者我是否必须预定义其大小并在之后终止null?之前,我将cmd的大小预定义为100,但我试图找到我在哪里得到分段错误 . char *cmd; fgets(cmd, n, stdin); 然后我尝试使用带有空格作为分隔符的strtok()来标记cmd字符串 .
  • 0 votes
     answers
     views

    调用fgets从文件读取行时出现分段错误

    在调用fgets大约20次之后,我遇到了一个段错误 . 我正在打开一个文件(不返回null) . 它的格式为: num1: value1 num2: value2 num3: value3 然后从文件中读取行,将值存储到数组中,使用nums作为位置 . 以下是seg fault的代码: 编辑:声明myArray和line: char myArray[3000]; char * lin...
  • -1 votes
     answers
     views

    C - 在函数中使用fgets()从stdin读取行

    我试图用stgets()从stdin读取行,我想在我的函数中使用fgets(),我认为这是问题所在 . 字符串最长可达1024个字符 . 当我运行此代码时,我得到“Segmentation fault(core dumped)” #include &lt;stdio.h&gt; #include &lt;stdlib.h&gt; #include &lt;string.h&gt; #define...
  • 0 votes
     answers
     views

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

    这是使用ubuntu的违规代码 char *name; int main(void) { fgets(name, sizeof(name), stdin); } void HUD() { printf(&quot;%s &quot;, name); } 这是我的问题 . 我开始使用scanf(“%s”,&name)并在字符串末尾收到垃圾邮件 . 在过去的2个小时里一直在阅读scanf...
  • 1 votes
     answers
     views

    使用fgets()从stdin读取

    我是C编程的新手,我正在尝试使用fgets()从stdin读取一行,但是我遇到内存分配问题,因为我使用char *指向我想要读取的字符串 . 当我执行文件时,它会报告分段错误 . 这是我正在使用的功能: char *read_line(char *line){ printf(&quot;%s&quot;,PROMPT); line = (char*)malloc(sizeof(ch...

热门问题