Так что я сейчас пытаюсь прочитать символ входного файла по символу, и я пытаюсь увидеть, когда возникает новая строка. Я получаю все символы в порядке, но вместо «\ n» для новой строки я получаю «á» или -97, если я передам ее в int. Вот мой код, и я использую VS 2015Чтение новой строки в C
int main(void) {
FILE *fp;
fp = open_input_file();
if (fp != 0) {
char ch = read_character(fp);
int d = (int)ch;
while (ch != EOF) {
printf("%d\n", d);
ch = read_character(fp);
d = (int)ch;
}
}
getch();
return 0;
}
char read_character(FILE *infile) {
int c;
c = getc(infile);
return (char) c;
}
что вы хотите спросить? не могли бы вы быть более ясными? –
Вы продолжаете кастинг в и из 'int'. Просто придерживайтесь 'int', как было возвращено' getc', для типа функции тоже .. –
Просто подумайте дважды, чтобы это могло означать, что вам нужно использовать молот для литья здесь: 'return (char) c;'. Общее эмпирическое правило в C: Если вы видите, что вы столкнулись с необходимостью бросить, то вы либо дамп, либо умный. Обычно вам нужно бросать только в * очень редких * обстоятельствах. – alk