c语言怎么二进制文件操作?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c语言怎么二进制文件操作?相关的知识,希望对你有一定的参考价值。

有人会写吗
涉及知识点:循环、二进制文件操作、结构体数组、文件的随机读写。
设计程序实现学生宿舍信息的管理,具体要求如下:
(1)用二进制数据文件存放学生的宿舍信息。
(2)每个房间最多住6人。
(3)宿舍信息的添加:根据输入的宿舍信息(楼号、房间号、实际入住人数、入住学生
姓名),添加该宿舍的信息。
(4)宿舍信息的修改:根据楼号及房间号,查找并修改该宿舍的信息,并显示修改后该
楼的所有宿舍信息。
(5)宿舍信息的删除:根除输入的楼号及房间号,删除该宿舍的信息,并显示修改后该
楼的所有宿舍信息。
(6)系统以菜单方式工作。

参考技术A 主要就是二进制文件的读写、结构体的定义和使用。
fopen函数 以 "ab+" 方式打开文件,用fwrite函数写入内容; "b" 方式打开文件,读取内容;

如何创建一个二进制文件?用C语言调用.

我想用C语言的文件操作来打开一个二进制文件,要怎么做呢?
我的主要问题是如何创建这个二进制文件?
直接新建一个TXT文件的话,保存类型选ASCII型,找不到二进制的编码来保存?有什么解决方法吗?
用fopen "wb"形式建立二进制文件后,如何往该文件写入二进制数据呢? 例如写入1000011010011

只是创建一个二进制文件,可以通过文件打开关闭的方式实现,即

FILE *fp;
fp = fopen(FILE_NAME, "wb");
fclose(fp);
这样一个名字为FILE_NAME值的二进制文件就创建了。
不过这样创建的二进制文件是空的,里面没有数据,从表象上看,就是文件大小为0。

所以在fopen后,可以向其中写需要的数据,即
fwrite(str, size_per_time, times, fp);
实现向文件写入的操作,即从str开始,写入times次,每次size_per_time字节的数据。
实际效果为写入从str开始,共计size_per_time * times字节的数据。
参考技术A 所有文件都可以看成二进制型的
用f1=fopen("bbb.txt","wb");
来创建,和"w"区别在于
打印"\n"时
"w"是2字节,0x0d 0x0a
而"wb"是1字节,0x0a

二进制数据这样写入
比如是个int a;
fwrite(&a,sizeof(int),1,f1);
数组就不用加&了本回答被提问者和网友采纳

以上是关于c语言怎么二进制文件操作?的主要内容,如果未能解决你的问题,请参考以下文章

C++怎么把文件按照16进制进行读写?

c语言如何进行二进制文件的操作?

c语言如何读写二进制

在C语言中,怎么建立二进制文件?

c语言中采用二进制文件存储数据的问题

如何创建一个二进制文件?用C语言调用.