参考了别人的网上的代码,发觉微软在VS2005,VS2008中默认采用UNICODE编码其实对JNI也是很方便的,
输入参数转化为VC中的指针,不要用getStringUTFChars,这样直接就是UNICODE,和VC默认的直接符合,并且,中文也是UNICODE,
相当的匹配:
WCHAR* p = (WCHAR *)(env->GetStringChars(conn_name,0));
输出参数返回
jstring rtn = 0;
....
rtn = (env)->NewString( (jchar*)buffer, length );
buffer中也存储的是UNICODE,很方便,由于C++中指针的灵活,即指针可以被造型成指向任意类型,因而,指针的造型最不用担心,
也对于C的灵活有了更深入的认识.
另外,_T("allocat memory in"))在VC中可将此String转化为UNICODE.
sizeof(list);可用于计算struct的大小,不必担心uNICODE等,
还有VC WINAPI有些函数会传进去一个指针,一个字符串的长度,并且他们是往外带返回值的,那我怎么知道返回的字符串的真正
长度呢,用_tcslen()(UNICODE和ANSI通用)函数来判断函数返回的指针指向的字符串的真正长度.