【发布时间】:2018-11-19 05:15:46
【问题描述】:
我有一个像这样的文本文件:
Naruto, Wind, 85, 48, 35, 63
Neji, Fire, 57, 53, 81, 45
Gaara, Earth, 73, 47, 96, 50
Sasuke, Fire, 68, 82, 72, 41
Kankurou, Water, 59, 42, 97, 60
我有我的结构
typedef struct ninja{
char* name;
char* element;
int ninjutsu ;
int genjutsu ;
int taijutsu ;
int defesa ;
} Ninja ;
我需要读取文本文件并使用此结构将其直接加载到内存中。我应该创建一些数组,将信息按字符存储在 char 中,然后转换类型(当为 int 时)然后加载它?
void file(){
FILE *file = fopen("ninjas.txt", "r");
int c;
if (file) {
while ((c = getc(file)) != ','){
putchar(c);
}
while ((c = getc(file)) != ','){
putchar(c);
}
while ((c = getc(file)) != ','){
putchar(c);
}
while ((c = getc(file)) != ','){
putchar(c);
}
while ((c = getc(file)) != ','){
putchar(c);
}
while ((c = getc(file)) != '\n'){
putchar(c);
}
fclose(file);
}
}
【问题讨论】:
-
请出示您的资料,以便我们提供建议。
-
只是一个观察:每一行都是一个忍者,每个忍者都是链表的一个元素,但这部分我理解得很好。我只需要正确阅读即可。
-
我只是想了解如何正确读取每个信息,而不是将其加载到内存中,我已经知道该怎么做。
-
你应该澄清你所说的是什么意思“我总是把一些线路信息弄错”
标签: c memory-management struct c99 ansi-c