Итак, используя функции fseek и ftell, я пытаюсь печатать символы по одному, сначала указывая на конец файла с помощью fseek, а затем уменьшая значение ftell, чтобы напечатать последний символ, а затем распечатать предыдущие.
#include <stdio.h>
#include <stdlib.h>
int main()
{
FILE *fp=NULL;
char i=0,count=0;
fp= fopen("note.txt","r");
if(fp==NULL){ printf("File error");
return -1;}
fseek(fp,0,SEEK_END);
count=ftell(fp);
while(count){
count--;
fseek(fp,count,SEEK_END);
i=fgetc(fp);
printf("%c",i);
}
fclose(fp);
fp=NULL;
return 0;
}
Мой код печатает какие-то странные символы, поэтому он не работает, какие-либо предложения о том, где я ошибаюсь в цикле while?
fseek(fp,count,SEEK_END);
. Он не делает то, что вы думаете. - person 4386427   schedule 07.07.2021SEEK_SET
внутри цикла? СSEEK_END
кажется, что вы пытаетесь найти конец файла. - person Retired Ninja   schedule 07.07.2021