自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

C++文件操作具體應(yīng)用函數(shù)介紹

開發(fā) 后端
C++文件操作中有幾個(gè)比較重要的應(yīng)用函數(shù),包括:fread();fwrite();等。我們在這里將會(huì)針對這些函數(shù)的應(yīng)用方法進(jìn)行一個(gè)詳細(xì)的介紹。

C++編程語言應(yīng)用方式靈活,可以被看做C語言的升級版本。我們可以通過這篇文章介紹的關(guān)于C++文件操作的相關(guān)方法來對這一計(jì)算機(jī)編程語言的相關(guān)應(yīng)用技巧有一個(gè)初步的掌握,并從中加深對這一語言的認(rèn)知程度。#t#

1.C++文件操作中的函數(shù)功能

用來讀寫一個(gè)數(shù)據(jù)塊。

2.一般調(diào)用形式

fread(buffer,size,count,fp);

fwrite(buffer,size,count,fp);

3.說明

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

(2)size:要讀寫的字節(jié)數(shù);

(3)count:要進(jìn)行讀寫多少個(gè)size字節(jié)的數(shù)據(jù)項(xiàng);

(4)fp:文件型指針。

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

2 完成一次C++文件操作(fread())后,如果沒有關(guān)閉流(fclose()),則指針(FILE * fp)自動(dòng)向后移動(dòng)前一次讀寫的長度,不關(guān)閉流繼續(xù)下一次讀操作則接著上次的輸出繼續(xù)輸出;

3 fprintf() : 按格式輸入到流,其原型是int fprintf(FILE *stream, const char *format[, argument, ...]);其用法和printf()相同,不過不是寫到控制臺,而是寫到流罷了。注意的是返回值為此次操作寫入到文件的字節(jié)數(shù)。如int c = fprintf(fp, "%s %s %d %f", str1,str2, a, b) ;str1:10字節(jié);str2: 10字節(jié);a:2字節(jié);b:8字節(jié),c為33,因?yàn)閷懭霑r(shí)不同的數(shù)據(jù)間自動(dòng)加入一個(gè)空格。

文件使用之后一定要關(guān)閉,否則將不能正確顯示內(nèi)容.fwrite:讀入兩個(gè)學(xué)生信息然后用fwrite存入文件

fread:用fread從文件中讀出學(xué)生信息。

 

 

  1. fwrite.c  
  2. #include <stdio.h> 
  3. #define SIZE 2  
  4. struct student_type  
  5. {  
  6. char name[10];  
  7. int num;  
  8. int age;  
  9. char addr[10];  
  10. }stud[SIZE];  
  11. void save()  
  12. {  
  13. FILE *fp;  
  14. int i;  
  15. if((fp=fopen("stu_list","wb"))==NULL)  
  16. {  
  17. printf("cant open the file");  
  18. exit(0);  
  19. }  
  20. for(i=0;i<SIZE;i++)  
  21. {  
  22. if(fwrite(&stud[i],sizeof(struct student_type),1,fp)!=1)  
  23. printf("file write error\n");  
  24. }  
  25. fclose(fp);  
  26. }  
  27. main()  
  28. {  
  29. int i;  
  30. for(i=0;i<SIZE;i++)  
  31. {  
  32. scanf("%s%d%d%s",&stud[i].name,&stud[i].num,&stud[i].age,&stud[i].addr);  
  33. save();  
  34. }  
  35. for(i=0;i<SIZE;i++)  
  36. {  
  37. printf("%s,%d,%d",stud[i].name,stud[i].num,stud[i].age,stud[i].addr);  
  38. }  
  39. }  
  40. fread.c  
  41. #include <stdio.h> 
  42. #define SIZE 2  
  43. struct student_type  
  44. {  
  45. char name[10];  
  46. int num;  
  47. int age;  
  48. char addr[10];  
  49. }stud[SIZE];  
  50. void read()  
  51. {  
  52. FILE *fp;  
  53. int i;  
  54. if((fp=fopen("stu_list","rb"))==NULL)  
  55. {  
  56. printf("cant open the file");  
  57. exit(0);  
  58. }  
  59. for(i=0;i<SIZE;i++)  
  60. {  
  61. if(fread(&stud[i],sizeof(struct student_type),1,fp)!=1)  
  62. printf("file write error\n");  
  63. }  
  64. fclose(fp);  
  65. }  
  66. main()  
  67. {  
  68. int i;  
  69. read();  
  70. for(i=0;i<SIZE;i++)  
  71. {  
  72. printf("%s,%d,%d,%s",stud[i].name,stud[i].num,stud[i].age,stud[i].addr);  
  73. printf("\n");  
  74. }  

 

C++文件操作相關(guān)方法就為大家介紹到這里。

責(zé)任編輯:曹凱 來源: 博客園
相關(guān)推薦

2011-06-17 16:09:04

freadfwrite

2010-03-26 10:46:20

Python嵌入CC++

2010-02-03 09:59:42

C++文件流操作

2010-02-05 10:46:10

C++文件流

2010-02-01 15:26:44

C++ inline函

2011-07-20 17:16:50

C++重載函數(shù)

2010-02-02 17:47:59

C++操作剪貼板

2010-03-26 11:00:55

Python嵌入CC++

2010-03-24 10:06:37

Python嵌入C++

2010-02-03 15:58:51

C++ timer

2010-02-03 15:52:55

C++ clock()

2010-01-25 17:55:38

C++頭文件

2010-02-06 16:21:35

C++常規(guī)DLL

2010-02-04 14:29:45

C++ typenam

2010-02-02 10:07:59

C++全局函數(shù)

2010-02-06 17:21:20

C++ CreateT

2010-03-26 11:00:55

Python嵌入CC++

2010-01-21 14:28:03

C++靜態(tài)成員函數(shù)

2010-02-06 11:19:33

C++獲取文件

2011-07-13 11:34:58

CC++時(shí)間函數(shù)
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號