BUPT 问题 B: 实验12_6_初识二进制文件

问题 B: 实验12_6_初识二进制文件

#include <stdio.h>
int main()
{
	char a, aa[5];
	short b, bb[5];
	int c, cc[5];
	long d, dd[5];
	long long e, ee[5];
	float g, gg[5];
	double h, hh[5];
	int i;
	int len = sizeof(a) + sizeof(aa) +
		sizeof(b) + sizeof(bb) +
		sizeof(c) + sizeof(cc) +
		sizeof(d) + sizeof(dd) +
		sizeof(e) + sizeof(ee) +
		sizeof(g) + sizeof(gg) +
		sizeof(h) + sizeof(hh);  //记录一下一个字段的长度
	FILE *fPtr = fopen("dict.dic", "rb");
	int order;
	scanf("%d", &order);
	rewind(fPtr);
	fseek(fPtr, (order - 1) * len, SEEK_SET);
	fread(&a, sizeof(a), 1, fPtr);
	printf("%c\n", a);
	fread(&b, sizeof(b), 1, fPtr);
	printf("%hd\n", b);
	fread(&c, sizeof(c), 1, fPtr);
	printf("%d\n", c);
	fread(&d, sizeof(d), 1, fPtr);
	printf("%ld\n", d);
	fread(&e, sizeof(e), 1, fPtr);
	printf("%lld\n", e);
	fread(&g, sizeof(g), 1, fPtr);
	printf("%f\n", g);
	fread(&h, sizeof(h), 1, fPtr);
	printf("%lf\n", h);
	
	fread(aa, sizeof(a), 5, fPtr);
	printf("%s\n", aa);
	fread(bb, sizeof(b), 5, fPtr);
	for (i = 0; i < 5; i++) printf("%hd ", bb[i]);
	printf("\n");
	fread(cc, sizeof(c), 5, fPtr);
	for (i = 0; i < 5; i++) printf("%d ", cc[i]);
	printf("\n");
	fread(dd, sizeof(d), 5, fPtr);
	for (i = 0; i < 5; i++) printf("%ld ", dd[i]);
	printf("\n");
	fread(ee, sizeof(e), 5, fPtr);
	for (i = 0; i < 5; i++) printf("%lld ", ee[i]);
	printf("\n");
	fread(gg, sizeof(g), 5, fPtr);
	for (i = 0; i < 5; i++) printf("%f ", gg[i]);
	printf("\n");
	fread(hh, sizeof(h), 5, fPtr);
	for (i = 0; i < 5; i++) printf("%lf ", hh[i]);
	printf("\n");
	fclose(fPtr);
	return 0;
}
  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值