【发布时间】:2016-03-16 18:37:16
【问题描述】:
我正在尝试从文本文件中读取结构中的数据,我想打印与原始文件相同的数据。
这是我的代码:
#include <stdio.h>
#include <stdlib.h>
typedef struct _Member{
char *name;
int age;
int id;
char *town;
}Member;
int main() {
FILE *file = fopen("member.txt", "r");
FILE *newFile = fopen("new_member.txt", "w");
int counter=0, line = 10;
Member *member = malloc(sizeof(Member)*line);
for(int i =0; i<line; i++){
int len = 12;
char *name = malloc(sizeof(char)*(len+1));
name [len] = '\0';
int age;
int id;
char *town = malloc(sizeof(char)*(len+1));
town [len] = '\0';
fscanf(file, "%s %i %i %s\n", name, &age, &id, town);
member[counter].name = name;
member[counter].age =age;
member[counter].id = id;
member[counter].town = town;
counter++;
}
for(int i = 0; i < counter-1; i++){
fprintf(newFile, "%s %d %d %s\n", member[i].name, member[i].age, member[i].id, member[i].town);
}
fclose(file);
fclose(newFile);
printf("Successful\n");
return 0;
}
会员.txt
John 23 3456 Edinburgh
Robert 33 4567 London
Peter 45 4345
Cary 56 12345
Dian 45 4587 Norfolk
Will 32 3453 Essex
Paul 56 7896 York
Alisha 78 1234 Peterbourgh
Brandon 45 3214 Brighton
Eli 39 5234 Oxford
我得到了结果。 新成员.txt
John 23 3456 Edinburgh
Robert 33 4567 London
Peter 45 4345 Cary
56 12345 4345
Dian 45 4587 Norfolk
Will 32 3453 Essex
Paul 56 7896 York
Alisha 78 1234 Peterbourgh
Brandon 45 3214 Brighton
如何打印与原始文件相同的内容?请注意;我正在尝试读取 STRUCT 中的数据。我的结构正在阅读第三行并从第四行取名作为城镇。任何帮助将不胜感激。谢谢
【问题讨论】:
标签: c struct linked-list