读取时如何移入二进制文件?

用户名

我将能够按字节读取我所有的结构字节(字节块很大“ sizeof(Today)”,所以它大了8个字节)。我尝试的次数越来越多,但是我不能!请给我帮助!

Bin档:“ temp.bin”

我的结构:

typedef struct
{
    int year;
    int month; 
} Today;

这是代码的一部分,每个周期应读取8个字节:

 Today *d;
 d = malloc(sizeof(Today));

 fp = fopen("temp.bin", "rb"); 

 while(!feof(fp))
 { 
     fread(d, sizeof(Today), 1, fp);

     printf("Year = %i\n", d->year);
     printf("Month = %i\n", d->month);     
 } 

 fclose(fp);

while条件和fread()函数很可能是错误的,但是我尝试了所有可能的组合,但输出却永远不是正确的组合!谢谢你们

安德斯

您可能想先为所有块分配空间,例如

fp = fopen( "temp.bin", "rb" );
if ( fp != NULL )
{
   fseek( fp, 0L, SEEK_END );
   size_t size = ftell(fp);
   rewind(fp);

   Today *d;
   d = malloc(size);
   fread( d, sizeof(Today), size/sizeof(Today), fp );
   fclose(fp);
}

然后你将结构体放在数组中

例如 printf( "month: %d", d[5].month);

然后对数组中的每个元素执行所需的操作,然后再将其写回。取决于文件的大小

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在python中读取二进制文件时的偏移

来自分类Dev

读取二进制文件时出现分段错误

来自分类Dev

读取二进制文件时释放内存

来自分类Dev

读取二进制文件时出现分段错误

来自分类Dev

关闭并打开二进制文件时读取

来自分类Dev

如何使用VBScript从二进制文件读取

来自分类Dev

如何从二进制文件读取多个结构

来自分类Dev

如何优化C ++二进制文件读取?

来自分类Dev

如何在Julia中读取二进制文件?

来自分类Dev

如何从dicom文件读取二进制数据?

来自分类Dev

如何从二进制文件读取多个结构

来自分类Dev

如何使用VBScript从二进制文件读取

来自分类Dev

如何逐字节读取二进制文件?

来自分类Dev

如何使用 WINAPI 读取整个二进制文件?

来自分类Dev

二进制文件如何“二进制”?

来自分类Dev

从Java中的二进制文件读取时,如何检查空字节定界符?

来自分类Dev

大块读取二进制文件

来自分类Dev

从二进制文件读取

来自分类Dev

从二进制文件读取char *

来自分类Dev

从MongoDB读取二进制文件

来自分类Dev

从二进制文件读取

来自分类Dev

读取二进制文件c

来自分类Dev

读取大型二进制文件

来自分类Dev

读取/写入二进制文件

来自分类Dev

分批读取二进制文件

来自分类Dev

从二进制文件中读取

来自分类Dev

读取整数的二进制文件

来自分类Dev

使用rsync时如何排除二进制文件

来自分类Dev

读取已发布的二进制文件并写入新的二进制文件