{
         char con[256];
con[0] = HIBYTE(LOWORD(Data->msglen));
con[1] = LOBYTE(HIWORD(Data->msglen));
con[2] = HIBYTE(HIWORD(Data->msglen));
strcat((char *)con, Data->msgcontent);
...
}
Data为一结构指针 其中msgcontent为  char     msgcontent[160];
运行时strcat一句出错 某新手 哪位大侠出手帮忙看看到底哪个地方错了

解决方案 »

  1.   

    你应该先对con作初始化
    请看下面的例子:#include <string.h>
    #include <stdio.h>
    #include <memory.h>
    void main( void )
    {
       char string[80];
       char aa[20] = "ajfhsfsf";
       memset( string , 0,80 );
       strcat(string,aa);
       printf( "String = %s\n", string );
    }
      

  2.   

    char con[256];
    con[0] = HIBYTE(LOWORD(Data->msglen));
    con[1] = LOBYTE(HIWORD(Data->msglen));
    con[2] = HIBYTE(HIWORD(Data->msglen));
             con[3] = 0;
    strcat((char *)con, Data->msgcontent);
      

  3.   

    看不懂你的代码的作用。
    试试:
           char con[256];
    con[0] = HIBYTE(LOWORD(Data->msglen));
    con[1] = LOBYTE(HIWORD(Data->msglen));
    con[2] = HIBYTE(HIWORD(Data->msglen));
             con[3]=0; strcat((char *)con, Data->msgcontent);
      

  4.   

    还有Data->msgcontent的长度+3不要大于256....
      

  5.   

    {
             char con[256];
    con[0] = HIBYTE(LOWORD(Data->msglen));
    con[1] = LOBYTE(HIWORD(Data->msglen));
    con[2] = HIBYTE(HIWORD(Data->msglen));         con[3] = '\0'; strcat((char *)con, Data->msgcontent);
    ...
    }