3 개의 필드가 쉼표로 구분 된 텍스트 파일이 있습니다. 내 텍스트 파일의 내용 예 : 12345, 진정한 프로그래밍 초보자, BS ME 파일을 프로그램에로드하려면 아래 코드를 사용하십시오 .... 내 문제는 때때로 코드가 작동하고 때로는 작동하지 않는다는 것입니다. (오류 메시지가 나타나지 않으면 프로그램이 닫히고 계속되지 않습니다.) 나는 또한 텍스트 파일이 비어 있다는 것을 관찰했다. (아무 것도 쓰여지지 않았다.) 자동으로 닫히고 계속되지 않는다. 귀하의 도움을 높이 평가 될 것입니다. 감사!fgets() 및 strtok()을 사용하여 쉼표 구분 기호로 파일 읽기
int read(){
FILE *stream = NULL;
int ctr;
char linebuffer[45];
char delims[]=", ";
char *number[3];
char *token = NULL;
stream = fopen("student.txt", "rt");
if (stream == NULL) stream = fopen("student.txt", "wt");
else {
printf("\nReading the student list directory. Wait a moment please...");
while(!feof(stream)){
ctr=0;
fgets(linebuffer, 46, stream);
token = strtok(linebuffer, delims);
while(token != NULL){
number[ctr] = linebuffer;
token = strtok(NULL, delims);
ctr++;
}
recordCtr++;
}
recordCtr--;
}
fclose(stream);
}
왜 이렇게 많은 점들을 사용합니까? 그것은 끔찍한 것 같습니다. – unwind