C言語学習記録3 fseek ftellを使ったファイル入力

ファイルを表示

#include<stdio.h>


int main(void)
{
  FILE *fp;
  char file_name[] = "test_file";
  long i, loc;
  char ch;

  if ((fp = fopen(file_name, "rb")) == NULL) {
    perror(file_name);
    return 1;
  }

  fseek(fp, 0L, SEEK_END);
  loc = ftell(fp);

  loc = loc - 1;
  for (i=0;i<=loc;i++) {
    fseek(fp, i, SEEK_SET);
    ch = fgetc(fp);
    printf("%c", ch);
  }

  if (fclose(fp) == EOF) {
    perror(file_name);
    return 1;
  }

  return 0;
}