Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/spring-mvc/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何阅读c语言中的卡奇夫布尔语 我在C++中写了一些东西,用C++来读。这里是C++代码< /p> CString str= "string value"; BOOL firstBool=false; BOOL secondBool= True; Bool thirdBool= true; CMemFile file(DataBlob->GetData(), dLength); CArchive ar(&file, CArchive::load); ar << str<<firstBool<<secondBool<<thirdBool;_C#_C++_.net_C# 4.0_Visual C++ - Fatal编程技术网

C# 如何阅读c语言中的卡奇夫布尔语 我在C++中写了一些东西,用C++来读。这里是C++代码< /p> CString str= "string value"; BOOL firstBool=false; BOOL secondBool= True; Bool thirdBool= true; CMemFile file(DataBlob->GetData(), dLength); CArchive ar(&file, CArchive::load); ar << str<<firstBool<<secondBool<<thirdBool;

C# 如何阅读c语言中的卡奇夫布尔语 我在C++中写了一些东西,用C++来读。这里是C++代码< /p> CString str= "string value"; BOOL firstBool=false; BOOL secondBool= True; Bool thirdBool= true; CMemFile file(DataBlob->GetData(), dLength); CArchive ar(&file, CArchive::load); ar << str<<firstBool<<secondBool<<thirdBool;,c#,c++,.net,c#-4.0,visual-c++,C#,C++,.net,C# 4.0,Visual C++,问题:我无法读取c中的第一个、第二个和第三个布尔值。可能是什么问题?我终于解决了 C++将布尔值写入为整数0或1。因此,在C的读取端,它应该是C:bool result=binaryReader.ReadInteger>0;看看是真是假 这解决了我的问题。不是直接的答案,但是我会写一个快速的C++ C++ CLL DLL,用MFC来读取CARCHIVEF,然后切换到.NET类。我不知道CLI,你能指点我继续在@ CrasmSTR方式中的其他方向吗?这将公开读取文件的方法,然后您必须将DLL的函数

问题:我无法读取c中的第一个、第二个和第三个布尔值。可能是什么问题?

我终于解决了

C++将布尔值写入为整数0或1。因此,在C的读取端,它应该是C:bool result=binaryReader.ReadInteger>0;看看是真是假


<>这解决了我的问题。

不是直接的答案,但是我会写一个快速的C++ C++ CLL DLL,用MFC来读取CARCHIVEF,然后切换到.NET类。我不知道CLI,你能指点我继续在@ CrasmSTR方式中的其他方向吗?这将公开读取文件的方法,然后您必须将DLL的函数导入到C代码中,您就完成了:DllImport doc:您不能使用ReadString,它仅在字符串由BinaryWriter写入时才起作用。您必须先读取字符串长度,这是火箭科学,然后读取字符串中的字符。使用AfxReadStringLength中的代码来获得正确的结果。如果您只想用C来实现,您可能需要查看该文件并确保读取的类型正确,即BOOL不是BOOL,readBoolean可能无法工作。
var br = new BinaryReader(new MemoryStream(file));                    
var strCSharp= br.ReadString();
var firstBoolCSharp= br.readBoolean();
var secondBoolCSharp= br.readBoolean();
var thirdBoolCSharp= br.readBoolean();