Это моя программа, в которой я пытаюсь прочитать простой текстовый файл и сохранить вывод в структуре. Проблема, с которой я сейчас сталкиваюсь, - это цикл while, в котором он не работает. Файл-дескриптор, похоже, читает файл. Кроме того, входной файл был создан с помощью простой блокнота Windows с данным текстом - может это проблема?Создание текстового файла, который можно прочитать с помощью c fscanf
#include<process.h>
#include<stdio.h>
#include<conio.h>
#include<string.h>
struct studyCentre {
char stdCode[10], stdName[40], regName[40], coord[20], prgin[20], address[35], email[40], webs[45];
int ph;
} std;
int flag=0;
void main() {
FILE *fp;
fp = fopen("studyCentre.txt", "r+");
if (fp==NULL) {
printf("No file found");
exit(0);
}
while(feof(fp)!=0) {
//while(!fp.EOF()) {
fscanf(fp, "%s%s%s%s%s%s%s%s%d", std.stdCode, std.stdName, std.regName, std.coord, std.prgin, std.address, std.email, std.webs, &std.ph);
printf("\n Study Center Name :: %s \n Regional Centre Name :: %s \n Coordinator Name = %s \n Program incharge Name :: %s Address %s \n Email :: %s \n Website :: %s \n Phone :: %d", std.stdName, std.regName, std.coord, std.prgin, std.address, std.email, std.webs, &std.ph);
flag=1;
}
if (flag==0) {
printf ("No record found");
}
fclose(fp);
}
Выход
No record found
Это текст в моем текстовом файле.
111
a
b
c
d
e
f
g
h
122
Edit: Исправлена опечатка.
Не редактируйте свой вопрос в ответ на ответы. Это приводит к путанице и аннулирует предоставленные ответы. – hmjd
Это была опечатка. Моя фактическая программа была написана. Прошу прощения за ошибку. – abhig10
@ abhig10, проверьте заголовок вопроса, возможно, есть и опечатка. Я думаю, вы хотели 'fscanf' вместо' scanf'. – Dipto