C++ winapi openfiledialog c++;
我使用明文,C++ 我想打开多个文件,如下所示:C++ winapi openfiledialog c++;,c++,winapi,openfiledialog,C++,Winapi,Openfiledialog,我使用明文,C++ 我想打开多个文件,如下所示: OPENFILENAME ofn; ZeroMemory(&ofn, sizeof(ofn)); ofn.lStructSize = sizeof(ofn); ofn.hwndOwner = hwnd; ofn.lpstrFilter = "TXT\0" "*.txt\0"; ofn.lpstrFile = szFileName; ofn.nMaxFile = MAX_PATH; ofn.Flags = OFN_EXPL
OPENFILENAME ofn;
ZeroMemory(&ofn, sizeof(ofn));
ofn.lStructSize = sizeof(ofn);
ofn.hwndOwner = hwnd;
ofn.lpstrFilter = "TXT\0"
"*.txt\0";
ofn.lpstrFile = szFileName;
ofn.nMaxFile = MAX_PATH;
ofn.Flags = OFN_EXPLORER | OFN_FILEMUSTEXIST | OFN_HIDEREADONLY | OFN_ALLOWMULTISELECT;
ofn.lpstrDefExt = "txt";
但是我怎样才能得到文件名呢?如果我选中szFileName变量,它只包含文件夹名。来自:
如果用户选择了多个文件,lpstrFile
缓冲区将返回当前目录的路径,后跟所选文件的文件名。nFileOffset
成员是第一个文件名的偏移量,以字节或字符为单位
目录和文件名字符串是空分隔的,最后一个文件名后面有一个额外的空字符
根据你的问题:
如果我检查szFileName变量,它只包含文件夹名
继续检查一个字符是否超过终止的'\0'
每次以下字符不是另一个'\0'
,这就是新文件名的开始。来自:
如果用户选择了多个文件,lpstrFile
缓冲区将返回当前目录的路径,后跟所选文件的文件名。nFileOffset
成员是第一个文件名的偏移量,以字节或字符为单位
目录和文件名字符串是空分隔的,最后一个文件名后面有一个额外的空字符
根据你的问题:
如果我检查szFileName变量,它只包含文件夹名
继续检查一个字符是否超过终止的'\0'
每次下列字符不是另一个
'\0'
,这就是新文件名的开始。FWIW,上面代码的前三行可以简单地写成OPENFILENAME of n={sizeof(of n)}
Vague title不太可能对站点的未来访问者有用->太本地化了。FWIW,上面代码的前三行可以简单地写成OPENFILENAME of n={sizeof(of n)}代码>模糊的标题不太可能对网站的未来访问者有用->太本地化了。+1@Carl您将需要比目前260字符大得多的缓冲区。+1@Carl您将需要比目前260字符大得多的缓冲区。