www.3112.net > C语言写出一个建立并写入数据的二进制文件,文件后缀为.DAt。

C语言写出一个建立并写入数据的二进制文件,文件后缀为.DAt。

file*file;file=fopen("c:\ft\fe1.dat","w");

#include "stdio.h"#include "string.h"#define SIZE 2struct student_type{ char name[20]; int age;}stud[SIZE];/* 结构存储 */void savedat(){ FILE *fp; int i; if((fp=fopen("test.dat","wb"))==NULL) { printf("cannot open file\n"); return; } for(i=0;i 评论0 0 0

if(pf1 = NULL) { perror("打开dat文件失败!\n"); exit(errno); }这句有问题if(pf1 == NULL) { perror("打开dat文件失败!\n"); exit(errno); }

FILE *fp;if ((fp = fopen("dat.dat","rb")) != NULL)注意"rb",中的b,二进制文件读写方式都必须有'b',不然不文本文件了.

你文件指针移动到最后了 前面的数据就不会擦除了

main(){structst2{inta,b;}x[]={1,2,3,4,5,6},*p=x;printf("%2d",x[1].a);//2printf("%2d",x[1].b);//2printf("%2d",p++->a);//p原来指向x[0]也就是这个数组的首地址,所以是1printf("%2d",++p->a);//因为上面是p++,到了下面p就是2了,又因为这里是++p,所以是3}

要用到三个函数,fopen,fread,fwrite,二进制读写的顺序是用fopen以二进制方式打开读写文件,然后使用fread和fwrite两个函数将数据写入二进制文件中.范例:#include#define set_s (x,y) {strcoy(s[x].name,y);s[x].size=strlen(y);}#define nmemb

1.不用空隔符作间隔是因为输入到文件的内容没有用空隔符作间隔.2.str[80]不大,这个叫"接收缓冲",一般设置是实际内容长度的2倍以上.3.ch[4]=0和ch[5]=0是给ch这个字符串添加结尾符'\0',一般专业人 员写的话就写为:ch[4]=0x0和ch[5]=0x0,是一样的效果.4.实际上用二进制的方式写入和读取文件更方便,不需要作转换.

#include <bits/stdc++.h>using namespace std; int sum,tot,t; int main(){ freopen("digat.dat","w",stdout); for (int i=1;i<=100;i++) printf("%d\n",i); }#include <bits/stdc++.h>using namespace std; int sum,tot,t; int main(){ freopen("digat.dat","r

有保存的函数吗,如果文件是以二进制模式打开保存的 那么就fread掉第一个count之后循环fread一个结构体到p[i] 如果是文本的话用fscanf()格式化读取到p[i]嘛

相关搜索:

网站地图

All rights reserved Powered by www.3112.net

copyright ©right 2010-2021。
www.3112.net内容来自网络,如有侵犯请联系客服。zhit325@qq.com