欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 3104|回復: 0
打印 上一主題 下一主題
收起左側

文件操作之--隨機讀寫,檢測fseek(),ferror()-C語言教程

[復制鏈接]
跳轉到指定樓層
樓主
ID:99624 發表于 2015-12-20 03:07 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
//隨機讀寫數據,讀寫操作由文件內部指針指向決定

#include"stdio.h"
#include"stdlib.h"
//聲明一個數據塊
struct student
{
  char name[10];
  int  age;
  float score;
};//該結構體占用20個字節

void main()
{
  FILE *fp;
  student s1[]={{"wangyan",40,89.0},{"王玚",6,99.1}};//初始化兩個學生對象信息
  student s2[2],*p1,*p2;
  p1=s1;
  p2=s2;
  fp=fopen("testfseek.txt","wt+");
  if(fp==NULL)
  {
    printf("文件打開失敗");
    getchar();
        exit(1);
  }
  else
  {
     printf("文件打開成功!\n");
     fwrite(p1,sizeof(struct student),2,fp);//
    if(feof(fp)>1) printf("文件已結尾\n");//如果feof(fp)返回值大于1,說明文件內部指針指向結尾
     else   printf("文件不在結尾處\n");
     fseek(fp,sizeof(struct student),SEEK_SET);
   //將文件內部指針定位到從文件頭起始后移sizeof(struct student)字節處

     int i=ftell(fp);
    printf("當前文件內部指針離文件頭字節數:%d\n",i);
    fread(p2,sizeof(struct student),1,fp);
     printf("讀到的內容是:\n");
     printf("%s %d %f\n",p2->name,p2->age,p2->score);
        fseek(fp,0,0);//文件內部指針重新定位到文件頭,偏移0個字節
        char ch=fgetc(fp);
        printf("重新讀到的字符是:\n");
        while(ch!=EOF)//如果沒有這個循環體 if(feof(fp)>1) 表達式就不會為真
        {
                printf("%c",ch);
                ch=fgetc(fp);
        }
        printf("\n");
        if(feof(fp)>1) printf("文件已結尾\n");//如果feof(fp)返回值大于1,說明文件內部指針指向結尾
     else   printf("文件不在結尾處\n");
     if(ferror(fp)==0)printf("文件沒有出錯!\n");
        else  printf("文件出錯!\n");
  }
  if(NULL==fclose(fp))printf("文件關閉成功\n");
  else printf("文件關閉失敗\n");
}
/*
fseek(FILE *,int(位移字節數),0(文件內部指針位移起始處))
0   SEEK_SET:文件頭
1   SEEK_CUR:文件當前位置
2   SEEK_END:文件尾


////////////----------GKXW--////////2015年11月24日23:01:00///////////

*/


分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表