日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

200822C阶段一文件

發布時間:2024/4/13 编程问答 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 200822C阶段一文件 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

目錄

  • 一、學習的知識點
    • 文件
      • 定義
      • 文件的操作
      • 文件相關的封裝函數
  • 二、上課沒有聽懂或者沒有理解的地方
  • 三、當天學習的收獲
  • 四、作業的思路、不會的地方
  • 五、其他需要反饋的問題
  • 六、心得體會

一、學習的知識點

文件

定義

文件一般指存儲在外部介質(如磁盤磁帶)上數據的集合。操作系統是以文件為單位對數據進行管理的。從操作系統的角度看,每一個與主機相連的輸入輸出設備看作是一個文件。

文件的操作

在緩沖文件系統中,每個被使用的文件都要在內存中開辟一FILE類型的區,存放文件的有關信息。stdio.h 中定義了一個稱為 FILE 的結構.

FILE *fp; //文件指針指向一個結構fp=fopen("data.txt","r+"); //返回文件類型的指針//r+ 如果打開一個不存在的文件,返回NULL;打開一個存在的文件,打開成功不會新建//w+ 如果打開一個不存在的文件,建立一個新的文本文件;打開一個存在的文件,也會新建if(fp == NULL){文件打開失敗fp=fopen("data.txt","w+");}printf("文件打開成功");//將內存數據寫入到文件,成功返回寫入單元個數,失敗返回0,寫入后指針自動偏移res=fwrite(&menu[0],sizeof(MENUL_T),2,fp);//1.要寫的數據地址 2.寫入單元的大小 3.寫入的單元個數 4.寫入的文件指針fflush(fp); //刷新,將寫入的數據保存到文件中fseek(fp,2*sizeof(MENU_T),0);//指針偏移1.文件指針 2.偏移量 3.指針偏移0-從頭偏移 1-從當前位置 2-從尾巴rewind(fp); //文件指針定位到頭//從文件讀取數據到內存中,成功返回讀取的單元個數,失敗返回0,讀取后指針自動偏移res=fread(&menu[3],sizeof(MENU_T),1,fp); //讀出數據,從fp指向的文件讀取數據存入到user[1]//1.讀出數據要保存的地址 2.讀出單元的大小 3.讀出的單元數 4.要讀取的文件的指針fclose(fp);//關閉文件

文件相關的封裝函數

//打開或新建一個文件 FILE *file_open(char *name) {//定義一個文件類型的指針,返回指針FILE *fp=NULL;fp=fopen(name,"rb+"); //r+:打開一個不存在的文件,返回NULL,打開成功返回文件指針if(fp == NULL){fopen(name,"wb+");//w+ 如果打開一個不存在的文件,建立一個新的文本文件;打開一個存在的文件,也會新建}return fp; }/* 函數功能:從文件里面讀取數據保存到鏈表中 函數參數:文件指針,服務每一塊數據單元的大小,(菜譜、員工、臺桌) */ void *File_read(FILE * fp,int size) {//創建鏈表LIST_T *head=NULL;void *data=NULL; //保存數據的地址head=List_Init();data=malloc(size);memset(data,0,size);//從文件讀取數據,不知道文件有多少數據,使用循環讀取while(fread(data,size,1,fp)){//存入鏈表List_Add(head,data);//重新開空間并初始化data=malloc(size);memset(data,0,size);}return head; }//將整條鏈表中的數據寫入文件 void File_write(FILE * fp,int size,LIST_T *head) {LIST_T *ptemp=head->pnext;rewind(fp);while(ptemp != NULL){fwrite(ptemp->pdata,size,1,fp);fflush(fp);ptemp=ptemp->pnext;} }

二、上課沒有聽懂或者沒有理解的地方

三、當天學習的收獲

學會了使用文件永久保存數據

四、作業的思路、不會的地方

按上課講的思路寫

五、其他需要反饋的問題

六、心得體會

最近學了挺多新知識,要好好消化理解

總結

以上是生活随笔為你收集整理的200822C阶段一文件的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。