该代码应编译正确,并且应链接对话框的-lcomdlg32
。程序返回:0x22fcd8
或68
(如果我使用指针)。并且(我认为)应该在对话框中返回文件用户类型的名称。
#include <windows.h>
#include <iostream>
int main() {
wchar_t szFileName[MAX_PATH] = {0};
OPENFILENAMEW ofn;
ZeroMemory(&ofn, sizeof(ofn));
ofn.lStructSize = sizeof(OPENFILENAME);
ofn.nMaxFile = MAX_PATH;
ofn.lpstrFile = szFileName;
GetSaveFileNameW(&ofn);
using namespace std;
cout << szFileName << endl;
cout << *szFileName << endl; // also a number not a string
}
最佳答案
如果要输出wcout
的数组作为以空字符结尾的宽字符串,则必须使用wchar_t
。