一些需要解决的问题(Win32)
Q1: 如何使用CreateFile创建utf-8编码的文本文件。
A: I don't know now....
Q2: CnComm中的通信设置字符串为什么有时不起作用
A:
Q3: 在直接使用Win32 SDK开发时,有关字符串的处理真是头痛
A:
Q4: 有点弄不清楚,哪些该放到.h中,哪些该放到.cpp中
A:
Q5: 为什么编译下面的代码会报警告?
【code】
wchar_t* a2w(char* orig) { // Convert to a wchar_t* size_t origsize = strlen(orig) + 1; const size_t newsize = 10000; size_t convertedChars = 0; //wchar_t* pszwString = new wchar_t[newsize]; wchar_t pszwString[newsize]; mbstowcs_s(&convertedChars, pszwString, origsize, orig, _TRUNCATE); return pszwString; }
警告 1 warning C4172: 返回局部变量或临时变量的地址
警告的上面代码中带下载线的, 即return pszwString
A:
Q6: 下面这段代码正确吗?
void wsubstr(wchar_t *dest, const wchar_t *src, unsigned int start, unsigned int cnt) { _tcsncpy(dest, src + start, cnt); dest[cnt] = 0; }
Q: 下面的代码会造成内存泄漏吗?
void Func() { char buffer[10240]; }
A: 如果形式是char *buffer = new char[1024]; 那肯定是内存leak了,但上面的代码就不清楚了,编译器要是聪明的话,应该可以不会有内存leak吧。
Q: .h文件有时会互相引用,有时会被引用多次,感觉有些混乱,有这方面的最佳实践吗?
A:
Q: 下面的代码,大家看得出有什么问题吗?