ÔÚC#ÖÐʹÓÃCÖеÄchar *ÀàÐÍ. - .NET¼¼Êõ / C#
ÎÒÒýÓÃÒ»¸öÓÃCдµÄDLL,º¯ÊýÖеIJÎÊýÀàÐÍΪchar *,ÔÚC#ÖÐÈçºÎÐ´ÄØ.
ÎĵµÖÐabc.dllÖÐabc_readº¯ÊýÔÐÍΪ:
int abc_read(unsigned char _Adr,unsigned char *_Data);
ÔÚC#ÖÐÎÒÊÇÕâÑù×ÓµÄ:
C# code:
[DllImport("abc.dll")]
static extern int abc_read(int _Adr,String _Data);
private void button1_Click(object sender, EventArgs e)
{
String c="";
int ret = abc_read(1, c);
if (ret == 0)//º¯Êýµ÷Óóɹ¦
{
label1.Text = c.ToString();
}
else
{
MessageBox.Show("failed-" + ret);
}
}
²»ÖªµÀÕâÑù¶Ô²»¶Ô??
¸ù¾Ýº¯ÊýÄÚ²¿µÄÇé¿ö;
C# code:
string
StringBuilder
ref char
out char
¶¼ÓпÉÄÜ.
¿´ÕâÀïµÄÓ¦¸ÃÊÇStringBuilder°É.
System.String »ò System.StringBuilder
¶¼¿ÉÒÔ¡£
{{
Ïà¹ØÎÊ´ð£º
±¾ÈËÕýÔÚÓÃJava×öÒ»¸öC/S¼Ü¹¹µÄÏîÄ¿£¬
¿ÉÊÇÓÉÓÚÏîÄ¿±È½Ï´ó£¬Ç°ÆÚ¶Ô¼Ü¹¹µÄÉè¼ÆÓÈÆäÖØÒª£¬ÒòΪºóÆÚ¿ÉÄÜËæÊ±»á¼Ó¸ö¹¦ÄÜ»òÕßÈ¥µôijЩ¹¦ÄÜ¡£
ËùÒÔÌØµØÑ°ÇóÈçºÎÉè¼ÆC/SµÄ¼Ü¹¹Ê¹³ÌÐò¸ü¼ÓÃæÏò¶ÔÏó¸ü¼ÓÒ×ÓÚά ......
´ó¼ÒºÃ£¬ÕâÊÇÒ»¸öÖ÷ÒªÃæÏòc/c++/mfcµÄȺ£¬×î½ü½øÐÐÁËÒ»´Î´óÇåÀí£¬»¶Ó¸÷λ¸ßÊÖ¼ÓÈ룬ºÃѧ°®ÎʵÄÐÂÊÖ£¬Ò²¿ÉÒÔÉêÇëµÄ£¬ÉêÇë¸ñʽ Ö°Òµ£¨c/c++/mfc ÈÎѡһ»òÕ߶ࣩ ¹¤×÷ÄêÏÞ£¨Ñ§ÉúÖ±½Óд´ó¼¸£©¾ÍÐÐÁË£¬ÈëȺµÄÒªÇó¾ÍÊÇÒª» ......
˼·£ºÒªÓÃc#Éú³ÉÒ»¸ö²¥·Å»úµÄ²¥·ÅÁбíµÄxml£¬ÀýÈ磺
<daty datys='2010-04-05' datye='2010-05-01' > //ÕâÊDz¥·ÅµÄÈÕÆÚ¶Î
<time times='01:12:00' timee='02:30:00'> ......
ÇóÒ»±¾C#Éè¼ÆÄ£Ê½µÄÊé ,ÎҸоõÎҵĴúÂëÔËÓýӿÚ,ίÍÐ,ÊôÐԵĵط½ºÜÉÙ,¿Ï¶¨ÊÇÎÒµÄÉè¼ÆÄ£Ê½Ì«²îÁË ,ÓÐûÓÐÕâ·½Ãæ,´Ó¹úÍâ·Òë¹ýÀ´µÄ,±È½ÏºÃµÄÉè¼ÆÄ£Ê½µÄÊé,ÍÆ¼öһϰÉ,·Ç³£¸Ðл.
¸ßÈËÃÇ˵ ´úÂëÖØ¹¹µÄÊéºÃЩ,ÄÇÎÒÒª¸Ä¿´ ......