该代码应编译正确,并且应链接对话框的-lcomdlg32。程序返回:0x22fcd868(如果我使用指针)。并且(我认为)应该在对话框中返回文件用户类型的名称。

#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

10-07 18:51