我正在编写一个使用 win32 API 创建文件的函数
void createFile(HWND hwnd, LPTSTR pszFile, PBITMAPINFO pbi, HBITMAP hBMP, HDC hDC)
我还编写了一个基于当前时间动态生成文件名的函数。
char * getFilename() {
char filename[200] = "";
char buf[40];
SYSTEMTIME st;
GetSystemTime(&st);
itoa(st.wHour, buf,10)
strcat(filename,buf);
.....
return filename;
}
我将上述函数称为:
createFile(hwnd, getFilename, pbi, hBMP, hDC);
通过调试器,文件名是正确的,直到执行 createFile() 中的第一条语句之后,字符串突然变成“ÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌ
很明显我有某种类型错误,但我不确定如何修复它。我是 win32 API 的新手,在理解所使用的各种类型时遇到了很多麻烦,所以如果能帮助我解决这个问题,我将不胜感激