当前位置:编程学习 > C#/ASP.NET >>

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"));
 cCountry=br.ReadChars(30);
--------------------编程问答-------------------- 但是C#中的char型是2个字节的0~65536,c++中的char是-128~127,这个问题怎么解决啊
--------------------编程问答-------------------- 关于在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#
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,