c语言文件读取问题!急急急,在线等,高分求救!!! 问题一:c语言如何从一个二进制文件中按字节,注

c语言文件读取问题!急急急,在线等,高分求救!!!
问题一:c语言如何从一个二进制文件中按字节,注意是字节读取文件。结束的标志是什么?
问题二:c语言如何创建一个二进制文件,并向其中写入二进制数?

二进制文件与.txt文件一样,都没有专用的文件结束标志。读到文件尾部时,feof(fp)返回1。
二进制文件的读写是由函数fread()和fwrite()进行的,文件打开方式是"rb"、"rb+"或"wb"。
温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2018-05-04
#include <iostream>
#include <stdio.h>
int main() 
{
 FILE *f = fopen("D:\\test.dat", "w+");//写读模式(无文件时自动创建)
 int nVal = 100;
 fwrite(&nVal, 1, sizeof(int), f);//写数据到文件
 fseek(f, 0, SEEK_SET);//移动文件到开关
 nVal = 0;
 fread(&nVal, 1, sizeof(int), f);//读文件内容
 printf("%d\n", nVal);
 fclose(f);
 return 0;
}

追问

我看看啊

fwrite的参数合是什么意思

追答

你如果装了Visual Studio可以看下MSDN,绝大部分问题都可以解决。

 size_t fwrite(
     const void *buffer,
     size_t size,
     size_t count,
     FILE *stream 
  );

size_t fread( 
     void *buffer,
     size_t size,
     size_t count,
     FILE *stream 
  );

追问

解释一下参数啊

count能不能缺省

追答

size: 每次写入长度

count:总共写多少次(不能省略)

同样是写int类型数据可以有如下几种方法

fwrite(&nVal, 1, sizeof(int), f);//每次写1个字节,写4次
fwrite(&nVal, sizeof(int), 1, f); //每次写4个字节,写1次

本回答被提问者和网友采纳
相似回答