c++中的char型在c#中如何读取啊?
如题,C++中某结构体中数据如下:char cCountry[30]; //国家名
char cProvince[20]; //省名
char cStation[40]; //站名
c++中的char应该相当于c#中的sbyte吧,但是Filestream只能读取byte型的啊,请问各位有什么好方法啊?
--------------------编程问答--------------------
BinaryReader br = new BinaryReader(new FileStream("e:\\tx.txt"));--------------------编程问答-------------------- 但是C#中的char型是2个字节的0~65536,c++中的char是-128~127,这个问题怎么解决啊
cCountry=br.ReadChars(30);
--------------------编程问答-------------------- 关于在C#中调用C++ DLL 时的参数传递
如果DLL接口的输出参数为char**,也就是字符数组的数组(即字符串数组),此时在C#声明中应该使用byte[]来做参数。然后通过Encoding类对这个byte[]进行解码,得到字符串. --------------------编程问答-------------------- fixed byte cCountry[30]; //国家名 --------------------编程问答-------------------- 请明示,连续的两个sbyte型构成了一个汉字字符,在C++里可以看到。但是如何如何在C#里将这连续的两个sbyte转成字符啊?成功便散分答谢 --------------------编程问答-------------------- private string ReadAuthor(Stream binary_file) {
System.Text.Encoding encoding = System.Text.Encoding.UTF8;
// Read string from binary file with UTF8 encoding
byte[] buffer = new byte[30];
binary_file.Read(buffer, 0, 30);
return encoding.GetString(buffer);
}
--------------------编程问答-------------------- 多谢soaringbird提供思路,但是你写的buffer只能是byte型数组,而题目中所说是sbyte型的,如果强制转换就会出错 --------------------编程问答-------------------- 请各位帮帮忙啊 --------------------编程问答-------------------- 你就那样用就行了
补充:.NET技术 , C#