ID 比较练习   C语言   文件操作 位置指针

 

/*

   id比较练习

*/

 

#include <stdio.h>

 

int main()

{

   int id = 0,length = 0,id1 = 0;

   FILE *p_file = NULL;

   printf("请输入一个id");

   scanf("%d",&id);

   p_file = fopen("a.bin","rb");

   if (p_file)

   {

          fseek(p_file,0,SEEK_END);  //把指针移到文件末尾

          length = ftell(p_file);    //当前文件指针相当于文件头的距离

          rewind(p_file);       //把指针移到文件开头

          while (ftell(p_file) < length)  //判断当前文件指针是否小于末尾指针

          {

                 fread(&id1,sizeof(int),1,p_file);   //文件第一个字节为存放的是id信息

                 if (id == id1)      //判断id是否相同

                 {

                        printf ("id已存在\n");

                        break;          //退出循环

                 }

                 fseek(p_file,24,SEEK_CUR); //当前指针向后移动24个字节

 

          }

          if (ftell(p_file) >= length)

          {

                 printf ("id不存在\n");

          }

          fclose(p_file);

          p_file = NULL;

   }

   printf ("length大小是%d",length);   //打印长度

   return 0;

}

wKiom1Xv88rBQKWtAADZJFlw2hc125.jpg

你可能感兴趣的:(c,文件操作, , ,位置指针)