Всякий раз, когда я пытаюсь прочитать символ из файла и пытаюсь получить к нему доступ, я получаю ошибку. Мой код:Получение ошибки при чтении из файла
while((c=fgetc(f))!=EOF) {
if(c == '\n') {
str[i]='\0';
Info* inf = new Info();
inf->getInputFromFile(str);
if((table->insert(inf))==0)
cout<<"exist."<<endl;
//delete inf;
for(int j =0; j<50;j++)
str[j]='\0';
i=0;
} else {
str[i] = c;
i++;
}
Но вот когда я когда-нибудь попробовать дать фиктивные такие слова, как: inf->getInputFromFile("Hello");
Я не получаю сообщение об ошибке. Я также не могу найти ошибку, используя debuggin, потому что когда я нажимаю F8 (CodeBlocks IDE), мой отладчик запускает и не останавливает какую-либо строку. то есть я не обнаруживаю ошибок при запуске программы с использованием F8.
Вот содержание входного файла:
int, INTEGER
myFunction, FUNCTION
x, IDENTIFIER
5, NUMBER
x, Identity
char, CHARACTER
fl, FLOAT
dbl, DOUBLE
you, MEINTHIS
dlt, DELETE
hel, HELLOWORLD
string, STRING
так что я должен делать. Использовать EOF рядом с while в случае If? – Developer
Должен ли я использовать вместо этого: while (1) { c = fgetc (f)); if (c == EOF) { break; } – Developer
Где вы получаете сообщение об ошибке? – Xyzk