0
섹션의 파일 내용을 사용 가능한 구조체로 읽으려고 시도하는 중 '#'기호가 섹션을 시작하는 동안 '. 기호는 그것을 끝냅니다.섹션에서 파일 내용 읽기
# Type name
bird
mammal
.
# Type effectiveness
VeryEffective
NotEffective
.
지금까지 내가 첫 번째 유형의 내용을 읽을 수 있지만 나는 두 번째의 내용을 읽을 때, 나는 다시 읽는 첫 번째의 내용을 유지 : 예는 것입니다.
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main() {
typedef struct
{
char types[1000];
char effectiveness[1000];
} sinFile;
sinFile record[1000];
FILE* file;
char line[121];
char period[10];
char Type2[20];
char* item;
char* item2;
int i = 0;
int j;
file = fopen("Test3.txt", "r");
while(fgets(line, 120, file)) {
item = strtok(line, " ");
strcpy(period, ".");
strcpy(Type2, "# Type effectiveness");
if (item[0] == '#' || item[0] == '.') {
continue;
} else {
do {
strcpy(record[i].types, line);
i++;
} while (strcmp(record[i].types, period) == 0);
}
for(j=0; strcmp(line, Type2) == 0; j++) {
do {
strcpy(record[j].effectiveness, line);
j++;
} while (strcmp(record[j].effectiveness, period)== 0);
}
}
fclose(file);
printf("%s", record[1].effectiveness);
}
현재 [1] .types 레코드는 [1] .effectiveness 레코드와 동일한 결과를 제공합니다. 즉 '포유 동물'. 나는 가까이에있는 것처럼 느껴진다. 그러나 나는 어떻게 나아갈 지 모른다.
Fyi, ""유형 유효성 "은 ** 21 ** ** 종결자를 포함한 넓은 문자입니다. 'Type2' 배열을 위반하고 있습니다. – WhozCraig
파일에 항상 한 줄에 한 단어 씩 있습니까? – RoadRunner
테스트를 위해 파일을 단순화했지만 '# 유형 유효성'의 내용 만 두 단어 이상을 포함합니다. – burnsieXD