C 如何从文件的每一行读取数据并将其存储到结构数组中
下面是我的代码,我在这一部分工作了一段时间,我创建了一个C套接字服务器,可以为客户端处理数据,但我在文件处理方面遇到了一个问题。我想从文件中选取数据并将其存储到特定部分的结构中,然后根据我选取的数据擦除该文件C 如何从文件的每一行读取数据并将其存储到结构数组中,c,C,下面是我的代码,我在这一部分工作了一段时间,我创建了一个C套接字服务器,可以为客户端处理数据,但我在文件处理方面遇到了一个问题。我想从文件中选取数据并将其存储到特定部分的结构中,然后根据我选取的数据擦除该文件 #include <stdio.h> #include <stdlib.h> #include <string.h> #include "struct.h" struct student { char command[10]; char
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include "struct.h"
struct student {
char command[10];
char value[50];
char user[50];
};
int main() {
int size, i;
struct student s1[256];
FILE *file = fopen("file.txt", "r");
if (file == NULL) {
printf("Error in reading student data");
return 1;
}
size = 0;
while(fscanf(file,"%s,%s,%s",
s1[size].command,
s1[size].value,
s1[size].user) != EOF) {
printf("%s%s%s\n",s1[size].command,s1[size].value,s1[size].user);
printf("%s\n",s1[size].command);
size++;
}
fclose(file);
return 0;
}
i、 如果我去商店
a in s1[0].command
w in s1[0].value
a in s1[0].user
及
但是当我试着运行我的代码时,它会打印出来
a, w, a in s1[0].command
及
所以我请求帮助,因为我尝试过谷歌搜索,但没有找到解决办法 “%s”
格式为空格分隔的“单词”
如果没有空格分隔“单词”,则必须使用其他方法来解析输入。例如,通过,然后使用类似于“标记化”字符串的内容
或者确保输入格式是空格分隔的。并且不要忘记使用
%s
(或%[
)的缓冲区溢出如果在没有字段宽度的情况下使用…@Felix Palmen你能帮我重新编写完整的代码吗?因为我厌倦了压力谢谢你这么多的时间lemmi尝试一下,我看看我是否能根据你的解释解决它…@Felix Palmen
r in s1[1].command
e in s1[1].value
1 in s1[1].user
a, w, a in s1[0].command
r, e, 1 in s1[1].command