0

我写了一个应用程序,它工作正常。至少在我居住的国家,德国。似乎来自英国的用户无法使用我的应用程序打开/查找文件。那可能吗?我需要用不同的代码页或其他东西编译我的程序吗?这些是我的设置(配置属性,常规):

设置

用户说当他尝试使用我的应用程序打开文件时收到一条错误消息:“windows 找不到 c/documents”

这是我用于打开文件的代码:

ZeroMemory( &ofn , sizeof( ofn));
ofn.lStructSize = sizeof ( ofn );
ofn.hwndOwner = NULL ;
ofn.lpstrFile = szFile ;
ofn.lpstrFile[0] = '\0';
ofn.nMaxFile = sizeof( szFile );
ofn.lpstrFilter = "All\0*.*\0Text\0*.*\0";
ofn.nFilterIndex =1;
ofn.lpstrFileTitle = NULL ;
ofn.nMaxFileTitle = 0 ;
ofn.lpstrInitialDir=NULL ;
ofn.Flags = OFN_PATHMUSTEXIST|OFN_FILEMUSTEXIST ;
GetOpenFileName( &ofn );

然后我使用:

str=ofn.lpstrFile;
    size_t found;
  found=str.find_last_of("\\");
  samp=str.substr(0,found+1);

和:

sprintf_s(filename,"%simg%u.jpg",samp.c_str(),xx);
            cvSaveImage(filename,framei);
4

3 回答 3

1

听起来你假设有一个名为 的文件夹C/documents,它可能在你的机器上,而不是在他的机器上。正是错误消息所说的内容,与语言或 Sprache 无关。

于 2013-02-04T20:04:05.697 回答
1

您提到在打开几个窗口(例如 OpenCV)后会出现错误消息。可能发生的情况是某个外部应用程序被执行,它试图打开文件打开对话框中选择的目录中的文件。如果您没有正确引用文件名,则当文件名包含空格时它将失败。“C:\Documents”是“C:\Documents and settings\Username\My Documents\File.ext”的第一个路径。因此,如果该用户正在使用该目录,而您使用的是“C:\Dokumente\Datei.txt”,则不会出现错误,因为您的文件名中没有空格。但这只是猜测,您没有发布足够的代码来查看错误发生的位置。

于 2013-02-07T19:00:25.290 回答
1

可能是用户在他的文件打开对话框中输入“c/documents”,而他真的想输入“C:\Documents”之类的吗?

在他按下“打开”之前,文件打开对话框的屏幕截图会很有帮助。

于 2013-02-04T20:35:16.067 回答