-
0 votesanswersviews
fgets没有读取一行的开头
我无法使用fgets从文件中读取几行文本 . 该文件是一些基本用户数据,在第一次启动插件时写入包中的文件 . 随后启动插件应导致读取和交叉引用用户数据以检查用户的真实性 . 数据总是3行长,并且使用frwite完全按原样写入,并使用fopen打开 . 我最初的理论是只调用fgets 3次,将每行读入它自己的char数组,这是数据结构的一部分 . 问题是第一行被正确读取,第二行被读取,好像位置指示符... -
0 votesanswersviews
fgets什么时候停止读线?
我正在使用gdb调试我的程序,fgets(line,sizeof(line),fp2)从文本文件中读取任何内容 . 所以程序循环无限的侧面 while(!feof(fp2)) 并且EOF永远不会满足我不知道为什么? 我将部分代码放在上下文中, 这是输入文件: COPY START 1000 FIRST STL RETADR CLOOP JSUB RDREC ... -
0 votesanswersviews
Segfault scanf和fprintf
我正在尝试编写一个小型数据库程序,它将有5个函数,第一个是Add(),但我在scanf上遇到SegFault错误: void Add(); struct data{ char name[20]; char description[300]; int quantity; }; typedef struct data data... -
0 votesanswersviews
C中的fopen / fread / fgets是否是PID安全的?
各种用户正在浏览100%用C(CGI)编程的网站 . 每个网页都使用fopen / fgets / fread从文件中读取常用数据(如导航栏) . 如果各种各样的人浏览同一页面,每次打电话给fopen / fgets / fread会互相干扰吗?如果是这样,如何在C中解决? (这是一个Linux服务器,编译是用gcc完成的,这是用C编程的CGI网站 . ) 例: FILE *DATAFILE = ... -
2 votesanswersviews
C-可以fgets接受NULL参数吗?
我意识到C语言中有一些函数有可选参数,这意味着用户可以传递NULL作为参数值 . 我很好奇是否可以使用fgets() . 假设我想将整行作为字符串保存在文件中,换句话说,我希望fgets()在到达换行符(\ n)时停止,然后我可以执行以下操作吗? fgets(string, NULL, file); //where string is simply an array of char 我认为这是... -
0 votesanswersviews
有时在PHP '<'符号影响fgets行读取时,fget不会读取完整行
PHP fgets函数没有完全读取下面的文本文件行 . 我正在使用fgets逐行读取一些数据 . 未能完全阅读的行如下; %107A195U<u--8+5-9+6-17+3-5v<1 truncates to: %107A195U %113A120+<l56+2l5-6+<17+2-+6-+2 truncates to: %113A120+ 它只读取部分行,但只要... -
0 votesanswersviews
如何使用fgets逐行读取文件
我是编程的新手,所以有一些我不知道的基础知识和常识 . 我有一个关于如何正确使用fgets的问题 . 根据对fgets的解释,似乎fgets应该在读取n-1个字符,点击EOF或点击换行符时停止 . 例如,我创建了如下文本文件: red 100 yellow 400 blue 300 green 500 purple 1000 ... 颜色和整数由制表符分隔 . 当我创建这个文本文件时,我需... -
0 votesanswersviews
C fgets()只处理最后一行
我正在尝试编写一个接收.txt文件的程序,读取所有行,然后将每个单词存储到BST中 . 然后我执行inorder遍历以按字母顺序打印单词 . 如果文本文件只包含1行,则程序可以正常工作,但如果文本文件包含多行,则会出现意外结果 . 示例:文本文件: first line second line 仅输出: line second 完全丢失文本文件的第一行 . 我的主要方法是: #define M... -
0 votesanswersviews
使用fgets()在C中逐行读取文件
所以,我正在努力让我的程序逐行读取文件,将每一行(作为“字符串”)存储到链表中 . 以下while循环 FILE *f; char string[longest]; while(fgets (string, longest, f) != NULL) { //Reading the file, line by line printf("-%s", string); ... -
1 votesanswersviews
试图了解fgets()
我正在编写一个程序来逐行读取文件 . 我知道fgets()将读取新行,n-1个字符或EOF . 令我困惑的是fgets()如何知道前进到新行/它在文件中的位置? 为了更清楚,我知道在Java中你必须明确告诉扫描仪阅读下一行 . 但是在C语言中,我只是将fgets()置于while循环中并相信这是它的工作 . 我怎么能在逻辑上向我保证fgets()实际上是在推进到下一行,而不是在while循环中一遍... -
2 votesanswersviews
使用fgets()从文件中提取行不起作用
我正在尝试开发一个函数来读取文本文件的每一行,并将它们存储在一个字符串数组中(char **)但 fgets() 似乎不起作用,它总是返回一个空字符 . 这是功能 char** getLines(FILE* fp){ char** lines; int numberOfLines; //number of lines int the file char ch; //aux... -
4 votesanswersviews
在'printf'之后使用'fgets'作为'fgets'运行的C语言问题'printf' [复制]
可能重复:为什么printf在调用后不刷新,除非换行符在格式字符串中? (在C中) 我在使用 printf 和 fgets 时出现问题,因为我的代码 printf 早于fget编写,但它没有运行,它在 fgets 运行之后运行 . enum { max_string = 127 }; static char string[max_string+1] = ""; int m... -
0 votesanswersviews
fgets in while循环
下面的代码在while循环中的fgets调用中给出了一个分段错误(它没有到达while循环中的printf语句进行调试) . 我在这里展示了main(从命令行中获取args)和函数partOne的开始 . 有任何想法吗? int main(int lLen, char *fileName) { Word* allWords = (Word*)malloc(sizeof(Word)); ... -
-1 votesanswersviews
使用strtok,strlen,malloc和fgets基于内容动态分配数组 . C程序[关闭]
我必须阅读带有学生名字和姓氏的文本文件 . 根据扭曲的程序要求,名字和姓氏是char POINTERS . 使用fgets读取每一行 . 因此,我在数组结构中有变量char * last_name,char * first_name . 例如: 比尔·克林顿 威廉,盖茨 我需要在运行时使用strlen和strtok指针分配它们的大小... 问题是,如果我使用strtok和strlen来查找名称的长... -
174 votesanswersviews
从fgets()输入中删除尾随换行符
我试图从用户那里获取一些数据并将其发送到gcc中的另一个函数 . 代码是这样的 . printf("Enter your Name: "); if (!(fgets(Name, sizeof Name, stdin) != NULL)) { fprintf(stderr, "Error reading Name.\n"); exit(1); ... -
0 votesanswersviews
为什么跳过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 votesanswersviews
PHP feof()在文件结束前返回true
在feof()函数在文件结束之前返回true的最后几天,我一直在研究一个奇怪的PHP问题 . 下面是我的代码的框架: $this->fh = fopen("bigfile.txt", "r"); while(!feof($this->fh)) { $dataString = fgets($this->fh); i... -
0 votesanswersviews
为什么fgets()工作错误?
这是我的代码 if(passwordCorretta(ds_sock)){ printf("CLIENT: password aggiungi corretta\n"); do{ printf("Cognome >> "); fgets(cognome,sizeof(cognome),stdin); ... -
-1 votesanswersviews
为什么scanf失败但fgets有效?
我要求用户输入是否要退出程序 . 有两个片段 . 一个使用scanf()函数读取输入,而第二个使用fgets()函数读取输入 . 使用scanf(),程序进入无限循环 . 使用fgets(),程序按预期执行 . 为什么scanf()失败,fgets()工作?我如何纠正它,以便scanf()可以工作?这是代码: First is with scanf() #include <stdio.h&g... -
-1 votesanswersviews
读取行直到EOF成为C中的指针[关闭]
我知道有关于它的数百个主题,但我需要再问一次 . 我有以下代码: char *str; while(fgets(&str,50,stdin) != NULL && &str != EOF) { printf(&str); } printf("Test"); 我想在我的代码中读几行并用它们做些什么 . 在那个例子中,它只是打印 ... -
0 votesanswersviews
Fgets编译错误
我坚持看似初学者的编译错误: 我的简单程序: #include <stdlib.h> #include <stdio.h> #include "Tiles_Circular_Linked_List.h" #define MAX_LINE_LENGTH 128; int main(int argc, char **argv) { struct ... -
0 votesanswersviews
是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) > 1) r... -
1 votesanswersviews
如何在C中逐行读取文件?
我有一个文本文件,最多100个IP地址,每行1个 . 我需要将每个地址作为字符串读入名为“list”的数组中 . 首先,我假设“list”需要是一个二维char数组 . 每个IP地址长度为11个字符,如果包含“\ 0”则为12个,因此我声明列表如下: char list[100][12]; 接下来,我尝试使用fgets来读取流: for (i = 0; i < 100; i++) {... -
1 votesanswersviews
为什么$ line = fgets(“data / $ f_handle”)不起作用
好吧,情况看起来很简单,所以我做错了什么? $fname = "students.dat"; $f_handle = fopen("data/$fname", 'r'); $num_lines = count(file("data/$fname")); for($x=0; $x<$num_lines; $x++) { $li... -
0 votesanswersviews
有没有办法动态设置我们从fgets()获得的字符串的大小?
我有一个变量char * cmd,我想从fgets()中存储一个字符串 . 有没有办法使用malloc或类似的变量动态分配内存?或者我是否必须预定义其大小并在之后终止null?之前,我将cmd的大小预定义为100,但我试图找到我在哪里得到分段错误 . char *cmd; fgets(cmd, n, stdin); 然后我尝试使用带有空格作为分隔符的strtok()来标记cmd字符串 . -
0 votesanswersviews
调用fgets从文件读取行时出现分段错误
在调用fgets大约20次之后,我遇到了一个段错误 . 我正在打开一个文件(不返回null) . 它的格式为: num1: value1 num2: value2 num3: value3 然后从文件中读取行,将值存储到数组中,使用nums作为位置 . 以下是seg fault的代码: 编辑:声明myArray和line: char myArray[3000]; char * lin... -
-1 votesanswersviews
C - 在函数中使用fgets()从stdin读取行
我试图用stgets()从stdin读取行,我想在我的函数中使用fgets(),我认为这是问题所在 . 字符串最长可达1024个字符 . 当我运行此代码时,我得到“Segmentation fault(core dumped)” #include <stdio.h> #include <stdlib.h> #include <string.h> #define... -
0 votesanswersviews
读取用户输入时fgets分段错误
这是使用ubuntu的违规代码 char *name; int main(void) { fgets(name, sizeof(name), stdin); } void HUD() { printf("%s ", name); } 这是我的问题 . 我开始使用scanf(“%s”,&name)并在字符串末尾收到垃圾邮件 . 在过去的2个小时里一直在阅读scanf... -
1 votesanswersviews
使用fgets()从stdin读取
我是C编程的新手,我正在尝试使用fgets()从stdin读取一行,但是我遇到内存分配问题,因为我使用char *指向我想要读取的字符串 . 当我执行文件时,它会报告分段错误 . 这是我正在使用的功能: char *read_line(char *line){ printf("%s",PROMPT); line = (char*)malloc(sizeof(ch...