关于C++与C#中二进制文件存储格式问题

在C#中,const int version = 0x01000000;BinaryWriter bw;//这里bw处省略部分代码bw.Write(version);存储后的二进制文件用UE打开后,内容为00 00 00 01;在C++中,const int version=0x01000000;fstream f(filename.c_str(),ios::in|ios::app|ios::binary);f<<version;存储后的文件打开后为31 36 37 37 37 32 31 36,也就是16的6次方。 我想用C++实现和上面C#存储后一样的格式的文件,应该如何存储?请大牛帮忙!谢谢!

第1个回答  2011-10-29
// Baidu.cpp : Defines the entry point for the console application.
//

#include "stdafx.h"
#include <stdio.h>
#include <iostream>
#include <fstream>
using namespace std;

int main(int argc, char* argv[])
{
FILE *file = fopen("d:/t.txt", "wb");
if(file == NULL){
cout << "The file 'd:/t.txt' was not opened\n" << endl;
return 0;
}

int i = 0x01000000;
fwrite(&i, 4, 1, file);
fclose(file);
return 0;
}

在C++,C#中是不是都是ASCII编码,那么为什么能输出汉字呢?
首先,保存并不是ASCII编码,而依照保存的文件格式而定,如果文件是UNICODE格式保存,那汉字就是UNICODE编码保存,如果你的文件是GB-2312格式,那汉字就是GB-2312编码保存。使用汉字不需要事先声明,不过需要操作系统支持,如果系统不支持汉字,比如在英文Windows上(没安装中文字体)运行,那么中文都会变成方框...

c\/c++\/java\/c#试构造无法压缩的二进制文件。
你找一个合适的你需要的大小的视频文件,用常见的不同的压缩格式,比如rar、zip、7z等等越多越多,每一种格式以压缩方式为最好,压缩两次(要简单点比如说先压缩为1.rar,将1.rar随便改名,比如改为1,然后再用最好的压缩为1.rar,

急急急:C#调用C++ 无论C#传入什么值C++获取都是0
VC++的话long是4字节的(而64位Linux平台的gcc下long是8字节的,这确实很令人蛋疼),而C#的Int64和UInt64明显是8字节的,这样两边是对不上的,C++这边解析参数列表的时候一旦排列不一致肯定是有问题的。你把你的C++方法改成这样:long WriteReg(long CardID,long long RegID,unsigned long long Data...

C#与C++的数据类型转换
因此unsigned char *pucCHMsg如果是作为输出缓冲区的话转换为StringBuilder pucCHMsg,如果是作为输入的话转换为String pucCHMsg,比如:int *puiPHMsgLen转换为ref int puiPHMsgLen,我在C#调用C++动态库都是这么转的。

“C语言”和“C++”还有“C#”的源文件格式分别是什么
c语言是.c c++是.cpp c#是.cs 一般情况下是这样的

C#和C++读写文件的区别(和utf
实际上,MONO也是把C#应用转化为Java应用而已,所以本质上,C#仍然只是被微软自己的操作系统支持。应用平台受到限制,是它最大的缺点。C\/C++的优点在于与底层比较接近,可以控制的粒度更加精细,是开发系统级应用的最佳选择。关于跨平台,C\/C++也是很好的语言,因为所有平台都支持,不同的是,不同平台支持...

c#与c++的不同点是什么?
头文件:C++有头文件,C#无头文件 主函数:C++主函数的定义格式为void main,C#的主函数定义格式为public static void Main 命令行:C++程序名成为命令行的一个参数,C#中程序名不包含在命令行中 指针:C++中指针可以随便使用,C#只能在unsafe标识的程序块中使用 垃圾回收:C++中程序员自己进行垃圾回收,...

C++ C# 字符串传递问题
最简单的是建立一个C++CLR项目,写一个函数作为过渡,不然C#里面的函数很难暴露给C++。参考这个 http:\/\/www.codeproject.com\/Tips\/695387\/Calling-Csharp-NET-methods-from-unmanaged-C-Cplusp 其实反过来C#调用C++就简单多的多了。或者用Pipe,Socket之类的进程通信,毕竟要多一个进程,也不算太方便...

C#和C++的区别 计算机2级为什么不包括C#
C#更象Java一些,虽然微软在这个问题上保持沉默.这也是意料中的事情,我觉得,因为Java近来很成功而使用Java的公司都报告说它们在生产效率上比C++获得了提高.Java所带来的巨大影响和大家对它的广泛接受已经由工作于这种语言和平台之上的程序员数量明显的说明了(估计世界范围内共有两百五十万程序员使用Java)....

vs中c#和c++可以混用吗
1、若在cpp文件中引用c语言代码,需要添加extern "C"原因参考:C和C++混合编程(__cplusplus 与 external "c" 的使用)2、若C语言部分独立为一个.c文件 (工程中既有cpp文件又有c文件)1、取消.c文件的预编译头 2、.c文件中不可添加 #include "stdafx.h"3、.c文件中不可出现extern "c"具体...

相似回答