成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

介紹C/C++文件的操作函數

開發 后端
本文主要介紹的是fread函數和fwrite函數,C/C++的文件操作。從功能到調用形式再到舉例說明,介紹的很詳細,希望對你有幫助,一起來看。

fwritefread是以記錄為單位的I/O函數,fread和fwrite函數一般用于二進制文件的輸入輸出。

1.函數功能

用來讀寫一個數據塊。

2.一般調用形式

 

  1. fread(buffer,size,count,fp);  
  2. fwrite(buffer,size,count,fp); 

 

3.說明

(1)buffer:是一個指針,對fread來說,它是讀入數據的存放地址。對fwrite來說,是要輸出數據的地址。

(2)size:要讀寫的字節數;

(3)count:要進行讀寫多少個size字節的數據項;

(4)fp:文件型指針。

注意:1 完成次寫操(fwrite())作后必須關閉流(fclose());

2 完成一次讀操作(fread())后,如果沒有關閉流(fclose()),則指針(FILE * fp)自動向后移動前一次讀寫的長度,不關閉流繼續下一次讀操作則接著上次的輸出繼續輸出;

3 fprintf() : 按格式輸入到流,其原型是int fprintf(FILE *stream, const char *format[, argument, ...]);其用法和printf()相同,不過不是寫到控制臺,而是寫到流罷了。注意的是返回值為此次操作寫入到文件的字節數。

如:

  1. int c = fprintf(fp, "%s %s %d %f", str1,str2, a, b) ; 

 

str1:10字節;str2: 10字節;a:2字節;b:8字節,c為33,因為寫入時不同的數據間自動加入一個空格。

文件使用之后一定要關閉,否則將不能正確顯示內容.fwrite:讀入兩個學生信息然后用fwrite存入文件

fread:用fread從文件中讀出學生信息。

 

fwrite.c

 

  1. #include <stdio.h>  
  2. #define SIZE 2  
  3. struct student_type  
  4. {  
  5. char name[10];  
  6. int num;  
  7. int age;  
  8. char addr[10];  
  9. }stud[SIZE];  
  10. void save()  
  11. {  
  12. FILE *fp;  
  13. int i;  
  14. if((fp=fopen("stu_list","wb"))==NULL)  
  15. {  
  16. printf("cant open the file");  
  17. exit(0);  
  18. }  
  19. for(i=0;i<SIZE;i++)  
  20. {  
  21. if(fwrite(&stud[i],sizeof(struct student_type),1,fp)!=1)  
  22. printf("file write error\n");  
  23. }  
  24. fclose(fp);  
  25. }  
  26. main()  
  27. {  
  28. int i;  
  29. for(i=0;i<SIZE;i++)  
  30. {  
  31. scanf("%s%d%d%s",&stud[i].name,&stud[i].num,&stud[i].age,&stud[i].addr);  
  32. save();  
  33. }  
  34. for(i=0;i<SIZE;i++)  
  35. {  
  36. printf("%s,%d,%d",stud[i].name,stud[i].num,stud[i].age,stud[i].addr);  
  37. }  

fread.c

 

  1. #include <stdio.h>  
  2. #define SIZE 2  
  3. struct student_type  
  4. {  
  5. char name[10];  
  6. int num;  
  7. int age;  
  8. char addr[10];  
  9. }stud[SIZE];  
  10. void read()  
  11. {  
  12. FILE *fp;  
  13. int i;  
  14. if((fp=fopen("stu_list","rb"))==NULL)  
  15. {  
  16. printf("cant open the file");  
  17. exit(0);  
  18. }  
  19. for(i=0;i<SIZE;i++)  
  20. {  
  21. if(fread(&stud[i],sizeof(struct student_type),1,fp)!=1)  
  22. printf("file write error\n");  
  23. }  
  24. fclose(fp);  
  25. }  
  26. main()  
  27. {  
  28.  
  29. int i;  
  30. read();  
  31. for(i=0;i<SIZE;i++)  
  32. {  
  33. printf("%s,%d,%d,%s",stud[i].name,stud[i].num,stud[i].age,stud[i].addr);  
  34. printf("\n");  
  35. }  

 

希望對你有幫助。

【編輯推薦】

  1. C++必須明白的基礎20條
  2. C++多態技術的實現和反思
  3. VC++如何將程序最小化到托盤
  4. C/C++中內存區域劃分大總結
  5. 階乘相關的算法及其C++實現
責任編輯:于鐵 來源: 博客園
相關推薦

2010-02-01 10:32:01

C++文件操作

2010-03-26 11:00:55

Python嵌入CC++

2010-03-26 11:00:55

Python嵌入CC++

2020-09-28 08:12:59

CC++時間

2010-01-25 17:55:38

C++頭文件

2010-03-24 12:45:00

Python 嵌入

2010-02-03 15:52:55

C++ clock()

2011-07-13 11:34:58

CC++時間函數

2010-01-15 15:52:18

CC++

2010-01-15 10:41:06

CC++

2011-07-15 01:29:39

C++析構函數

2011-07-20 17:16:50

C++重載函數

2010-01-21 14:28:03

C++靜態成員函數

2010-01-27 17:16:52

C++構造函數

2010-01-26 10:42:26

C++函數

2016-10-20 16:07:11

C++Modern C++異步

2011-07-20 13:40:09

拷貝構造函數

2010-01-19 13:43:59

C++函數

2010-02-05 16:18:41

C++流式文件操作

2010-02-05 10:46:10

C++文件流
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: www.887色视频免费 | 91精品国产色综合久久不卡98 | 毛片一级黄色 | 九九免费观看视频 | 在线观看中文字幕视频 | 欧美激情一区二区 | 人人鲁人人莫人人爱精品 | 午夜精品一区二区三区在线观看 | 国产伦一区二区三区视频 | 韩国av电影网 | 日日精品 | 精品在线一区 | 久久久这里只有17精品 | 日韩欧美在线播放 | 亚洲成人精品 | 国产精品久久久亚洲 | 精品综合久久 | 毛片a级| 亚洲网址 | 91精品久久久久久综合五月天 | 久久亚洲国产精品 | 色婷婷在线视频 | 中文字幕 国产 | 亚洲成人午夜在线 | 久久人体 | 国产精品免费大片 | 日韩电影一区 | 日韩免费一区 | 成人免费在线电影 | 国产人久久人人人人爽 | 国产成人精品一区二区三区四区 | 亚洲成年人免费网站 | 精品欧美一区二区三区久久久 | 黄网免费| 久热爱| 国产精品久久久久无码av | 欧美在线国产精品 | 亚洲色图在线观看 | 在线永久看片免费的视频 | 日产久久 | 久久av一区 |