成人免费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-01-25 17:55:38

C++頭文件

2010-03-26 11:00:55

Python嵌入CC++

2010-02-03 15:52:55

C++ clock()

2020-09-28 08:12:59

CC++時間

2010-03-24 12:45:00

Python 嵌入

2011-07-13 11:34:58

CC++時間函數

2010-01-15 10:41:06

CC++

2011-07-15 01:29:39

C++析構函數

2011-07-20 17:16:50

C++重載函數

2010-01-15 15:52:18

CC++

2010-01-21 14:28:03

C++靜態成員函數

2010-01-26 10:42:26

C++函數

2010-01-27 17:16:52

C++構造函數

2016-10-20 16:07:11

C++Modern C++異步

2010-01-19 13:43:59

C++函數

2011-07-20 13:40:09

拷貝構造函數

2010-02-05 16:18:41

C++流式文件操作

2010-01-11 15:21:18

C++語言
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 日韩精品免费 | 91精品久久久久久久久中文字幕 | 午夜小电影 | 亚洲人成人一区二区在线观看 | 中文字幕视频免费 | 亚洲精品中文字幕 | 欧美不卡一区二区三区 | 看羞羞视频 | 天天天久久久 | 国产精品自拍视频 | 欧美激情亚洲激情 | 久久久成人一区二区免费影院 | 亚洲精品乱码久久久久久蜜桃91 | 伊久在线| 免费看国产精品视频 | 91精品国产综合久久久久久丝袜 | 午夜精品久久久久久久久久久久 | 欧美国产日韩在线观看 | 91视频.com | 国产视频在线观看一区二区三区 | 91污在线 | 久久99精品国产 | 欧美一区二区在线观看视频 | 日韩在线免费 | 欧美亚洲一级 | 天天色天天色 | 久久亚洲天堂 | 国产精久久久久久久妇剪断 | 99这里只有精品视频 | av毛片在线免费观看 | 日韩精品在线一区 | 成人精品国产免费网站 | www.av在线| 97国产精品视频人人做人人爱 | 秋霞a级毛片在线看 | 国外成人免费视频 | 欧美日韩在线播放 | 在线免费观看毛片 | 97国产一区二区 | 中文字幕99| 欧美日韩一区二区视频在线观看 |