C 文件操作具体应用函数介绍
创始人
2024-06-22 08:00:30
0

C++编程语言应用方式灵活,可以被看做C语言的升级版本。我们可以通过这篇文章介绍的关于C++文件操作的相关方法来对这一计算机编程语言的相关应用技巧有一个初步的掌握,并从中加深对这一语言的认知程度。#t#

1.C++文件操作中的函数功能

用来读写一个数据块。

2.一般调用形式

fread(buffer,size,count,fp);

fwrite(buffer,size,count,fp);

3.说明

(1)buffer:是一个指针,对fread来说,它是读入数据的存放地址。对fwrite来说,是要输出数据的地址。

(2)size:要读写的字节数;

(3)count:要进行读写多少个size字节的数据项;

(4)fp:文件型指针。

注意:1 完成次写操(fwrite())作后必须关闭流(fclose());

2 完成一次C++文件操作(fread())后,如果没有关闭流(fclose()),则指针(FILE * fp)自动向后移动前一次读写的长度,不关闭流继续下一次读操作则接着上次的输出继续输出;

3 fprintf() : 按格式输入到流,其原型是int fprintf(FILE *stream, const char *format[, argument, ...]);其用法和printf()相同,不过不是写到控制台,而是写到流罢了。注意的是返回值为此次操作写入到文件的字节数。如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从文件中读出学生信息。

 

 

  1. fwrite.c  
  2. #include  
  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
  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
  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
  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  
  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
  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
  71. {  
  72. printf("%s,%d,%d,%s",stud[i].name,stud[i].num,stud[i].age,stud[i].addr);  
  73. printf("\n");  
  74. }  

 

C++文件操作相关方法就为大家介绍到这里。

相关内容

热门资讯

如何允许远程连接到MySQL数... [[277004]]【51CTO.com快译】默认情况下,MySQL服务器仅侦听来自localhos...
如何利用交换机和端口设置来管理... 在网络管理中,总是有些人让管理员头疼。下面我们就将介绍一下一个网管员利用交换机以及端口设置等来进行D...
施耐德电气数据中心整体解决方案... 近日,全球能效管理专家施耐德电气正式启动大型体验活动“能效中国行——2012卡车巡展”,作为该活动的...
Windows恶意软件20年“... 在Windows的早期年代,病毒游走于系统之间,偶尔删除文件(但被删除的文件几乎都是可恢复的),并弹...
20个非常棒的扁平设计免费资源 Apple设备的平面图标PSD免费平板UI 平板UI套件24平图标Freen平板UI套件PSD径向平...
德国电信门户网站可实时显示全球... 德国电信周三推出一个门户网站,直观地实时提供其安装在全球各地的传感器网络检测到的网络攻击状况。该网站...
着眼MAC地址,解救无法享受D... 在安装了DHCP服务器的局域网环境中,每一台工作站在上网之前,都要先从DHCP服务器那里享受到地址动...
为啥国人偏爱 Mybatis,... 关于 SQL 和 ORM 的争论,永远都不会终止,我也一直在思考这个问题。昨天又跟群里的小伙伴进行...