激活CLR支持

时间:2014-03-27 02:26:56

标签: c++ string

我刚刚在我的C ++项目上激活了CLR支持,以便能够使用ODBC的功能。我目前正在使用这个项目从另一个使用sokcets获取一些数据,所以,这个项目是一个监听器,它在运行时不断监听一个已定义的端口号。

所以,当我激活CLR支持时,我遇到了一些字符串问题。这是我正在运行的代码片段:

typedef struct thread_args{
    SOCKET ClientSocket;
    int index;
} *MYDATA, PM;
MYDATA pDataArray[100];
struct thread_args *fp;
fp = (struct thread_args *) pVoid;
int iResult;
unsigned char recvbuf[65536];
iResult = recv(fp->ClientSocket, (char*)recvbuf, 65536, 0);

因此,在激活之前,recvbuf获取值(当我从其他项目发送数据时):

  

qpsdjqspdjqsdsqsdsq +++ qsdsqdqsdqsdqsdiqsbdoiqsdbqsoidbqsiodbqsduqbiqsiudqiduqsbdqskdbqskdsqbkdbsqkqsjdbsqkdbqskjdbqskdbkqsjbdqkbsdqkdbqkdsbqkdbsqkbdkqdbqskbdkqbd

然后,它获得了价值:

  

qpsdjqspdjqsdsqsdsq +++

+++之后,只有''个字符,没有'\0'。我如何获得完整的字符串?

请注意,我正在使用+++来区分已发送的字符串。

0 个答案:

没有答案