一个网络程序用到了一个函数
retval = send(conn_socket,cBuffer,m_send.GetLength(),0);
但是第2个参数 需要char
但是在evc中我的这个参数是Tchar
现在只要把Tchar转换城char就ok了
能把代码发出来吗?
retval = send(conn_socket,cBuffer,m_send.GetLength(),0);
但是第2个参数 需要char
但是在evc中我的这个参数是Tchar
现在只要把Tchar转换城char就ok了
能把代码发出来吗?
#if !define(UNICODE) && !defined(_UNICODE)
直接转换
#else
WideCharToMultiByte
#endif
char cBuffer[1000];
tchar Buffer[1000];
用这2个变量
谢谢 我新手
unicode用 WideCharToMultiByte
或者用wcstombs#include <stdio.h>
#include <stdlib.h>int main( void )
{
int i;
char *pmbbuf = (char *)malloc( MB_CUR_MAX );
wchar_t *pwchello = L"Hello, world."; printf( "Convert wide-character string:\n" );
i = wcstombs( pmbbuf, pwchello, MB_CUR_MAX );
printf( "\tCharacters converted: %u\n", i );
printf( "\tMultibyte character: %s\n\n", pmbbuf );
return 0;
}
_tcsclen()计算字符数,_tcsnbcnt()计算字节数。
根据这个就ok了