-1
텍스트 파일이 있고 각 줄에는 사람 이름과 성별이 쉼표로 구분 된 값으로 들어 있습니다. 나는 한 줄씩 읽고 사람 배열을 만들려고 노력하고있다. 무엇이 잘못되었는지 내 코드와 함께 배열의 모든 요소는 텍스트 파일의 마지막 줄로 설정됩니다.파일을 줄 단위로 읽음 c 값을 마지막 항목으로 재설정
struct Person{
char* Name;
char* Gender;
};
struct Person person[100];
void readAllFromFile(){
FILE * fp;
char currentLine[256];
int fd;
if((fp = fopen ("test.txt", "r"))==NULL){
perror("Can not open");
fclose(fp);
return;
}
int currentLineNo=0;
char *items;
while (fgets(currentLine, sizeof(currentLine), fp)) {
items=strtok(currentLine,",");
struct Person tempPerson;
int iter=0;
while(items != NULL)
{
if(iter==0){
tempPerson.Name=items;
}
else {
tempPerson.Gender=items;
}
iter++;
items=strtok(NULL,",");
}
person[currentLineNo]=tempPerson;
currentLineNo++;
}
/*Printing element of the array*/
int i;
for(i=0;i<currentLineNo;i++){
printf("%s\n",person[i].Name);
}
fclose(fp);
}
int main() {
readAllFromFile();
return 0;
}
[C : char의 연결 목록 작성을위한 fgets 사용법] * (https://stackoverflow.com/questions/46243081/c-fgets-usage-for-building-a-linked-list- of-char) –
두 번째 오늘 밤, 같은 문제. 많은, 많은 중복 :( –