社区
C++ 语言
帖子详情
用fwrite将int和char类型的变量写入二进制文件,用64位机器和32位机器,写出的二进制文件一样吗
jsy5211
2012-08-20 09:03:42
将32位机器上写的二进制文件拷贝到64位机器上,文件一样吗?如果不一样,能转换成一样的文件吗?
...全文
426
11
打赏
收藏
用fwrite将int和char类型的变量写入二进制文件,用64位机器和32位机器,写出的二进制文件一样吗
将32位机器上写的二进制文件拷贝到64位机器上,文件一样吗?如果不一样,能转换成一样的文件吗?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
11 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
图灵狗
2012-08-21
打赏
举报
回复
应该是对的,保险一点的话,用工具查看二进制的字节数据,UltraEdit和Pspad还有Notepad++加插件都是可以的。
[Quote=引用 5 楼 的回复:]
引用 4 楼 的回复:
比如说
FILE *file = fopen("...", "wb");
int a = 1;
double b = 1.0;
fwrite(&a, sizeof(int), 1, file);
fwrite(&b, sizeof(double), 1, file);
fclose(file);
那么这段代码在32位上……
[/Quote]
赵4老师
2012-08-21
打赏
举报
回复
推荐使用WinHex软件查看文件或内存中的原始字节内容。
jsy5211
2012-08-21
打赏
举报
回复
首先谢谢各位大虾,但是浮点数的精度会不同吗?
ljhhh0123
2012-08-21
打赏
举报
回复
不同的系统之间传递文件是没有问题的。
qq120848369
2012-08-21
打赏
举报
回复
尺寸没问题, 大小端需要统一。
jsy5211
2012-08-20
打赏
举报
回复
[Quote=引用 4 楼 的回复:]
比如说
FILE *file = fopen("...", "wb");
int a = 1;
double b = 1.0;
fwrite(&a, sizeof(int), 1, file);
fwrite(&b, sizeof(double), 1, file);
fclose(file);
那么这段代码在32位上和64位上写出的二进制代码应该一样吧?因为VS2……
[/Quote]不好意思double都是8,笔误
jsy5211
2012-08-20
打赏
举报
回复
比如说
FILE *file = fopen("...", "wb");
int a = 1;
double b = 1.0;
fwrite(&a, sizeof(int), 1, file);
fwrite(&b, sizeof(double), 1, file);
fclose(file);
那么这段代码在32位上和64位上写出的二进制代码应该一样吧?因为VS2008编译器,在32位上和64位上,int都是4个字节,double也是4个字节,只有指针和long类型32位上和64位上字节数不同啊,right?
图灵狗
2012-08-20
打赏
举报
回复
当然是可以的,掌握好字节数和字节的顺序就没有问题,都用字节流来表达的话,是可以跨平台的。
jsy5211
2012-08-20
打赏
举报
回复
用fwrit在32位上写的文件,通过转换,能不能得到和用fwrit在64位上写的文件一样呢?
图灵狗
2012-08-20
打赏
举报
回复
1、将32位机器上写的二进制文件拷贝到64位机器上,文件当然是一样的;
2、用fwrite将int和char类型的变量写入二进制文件,文件当然是不一样的,这个时候需要自己定义可移植类型,比如typedef unsigned int int32u_t之类的定义。
13.第十三章
文件
.txt
ab+ 读写打开一个
二进制
文件
,允许读和在
文件
末尾写数据 (1)
文件
使用方式由r、w、a、b、+拼成,含义分别为: r(read) 读 w(write) 写 a(append) 追加 b(binary)
二进制
文件
+ 读和写 (2)用r方式...
C++向
二进制
文件
里
写入
string
类型
当需要把string
类型
的数据
写入
二进制
文件
之后再读取的时候会出现错误,例如 string test; ofstream out("xxx",ios:binary); out.wirte((
char
*)&test,sizeof(test))); 这是不正确的做法,原因是string在stl中...
将double
类型
的数据
写入
二进制
文件
,从
二进制
文件
中读取double
类型
数据
这是C的代码 //
写入
二进制
文件
FILE *f=fopen("F:\\g.txt","wb+"); double d=123456123.1231231131;
fwrite
(&d,sizeof(double),1,f); fclose(f); //从
二进制
文件
读出 FILE *fop=fopen("F:\\g.txt","rb"); dou
C语言中把结构内容
写入
二进制
文件
及从
二进制
文件
中读取出数据
#include #include #define MAXTITL 40 #define MAXAUTL 40 #define MAXBKS 3 // 最多存储3本书 struct book{
char
title[MAXTITL];
char
author[MAXAUTL]; float value;...
int
main(void){ struct book lib
【c语言】
二进制
文件
的读写操作
一、
二进制
文件
写操作
fwrite
1.存储一个整型
变量
2.存储一个数组 3.存储一个字符串 二、
二进制
文件
读操作fread 1.读取整数 2.读取一个数组
C++ 语言
64,676
社区成员
250,490
社区内容
发帖
与我相关
我的任务
C++ 语言
C++ 语言相关问题讨论,技术干货分享,前沿动态等
复制链接
扫一扫
分享
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
请不要发布与C++技术无关的贴子
请不要发布与技术无关的招聘、广告的帖子
请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下
试试用AI创作助手写篇文章吧
+ 用AI写文章