カンマで区切られた3つのフィールドを持つテキストファイルがあります。私のテキストファイルの内容の例:12345、真のプログラミング初心者、BS MEファイルをプログラムにロードするために、私は以下のコードを使用しました....私の問題は、コードが機能する場合と機能しない場合があることです(エラーメッセージが表示され、プログラムはそれ自体を閉じて続行しません)。また、テキストファイルが空白(何も書き込まれていない)であることがわかりました。自動的に閉じられ、続行されません。あなたの助けをいただければ幸いです。ありがとう!
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);
}