Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/windows/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ fopen在将控制台应用更改为windows应用后失败_C++_Windows_Visual Studio_Winapi_Opencv - Fatal编程技术网

C++ fopen在将控制台应用更改为windows应用后失败

C++ fopen在将控制台应用更改为windows应用后失败,c++,windows,visual-studio,winapi,opencv,C++,Windows,Visual Studio,Winapi,Opencv,我在Windows XP Professional和Visual Studio上使用OpenCV 2.3.1 10Ultimate,打开级联文件时遇到问题 相关代码如下所示: String face_cascade_name = "haarcascade_frontalface_alt.xml"; CascadeClassifier face_cascade; if( !face_cascade.load( face_cascade_name ) ){ message(TEXT("--(!)

我在Windows XP Professional和Visual Studio上使用OpenCV 2.3.1 10Ultimate,打开级联文件时遇到问题

相关代码如下所示:

String face_cascade_name = "haarcascade_frontalface_alt.xml";

CascadeClassifier face_cascade;

if( !face_cascade.load( face_cascade_name ) ){ message(TEXT("--(!)Error loading face\n"));
我正在使用 GetCurrentDirectory函数,xml文件包含在该目录中

有趣的是,当我编译并运行它时,程序工作正常 控制台模式,但当我在下面运行它时,我得到了加载面的错误 Win32 modeno控制台


谢谢你的帮助

根据OpenCV文档,CascadeClassification对象有一个加载方法,其原型如下:

bool CascadeClassifier::load(const string& filename)
但你给它喂了一根绳子。从您的注释来看,它似乎只是将指针值附加到目录字符串。试着给它正确的论点类型。即:

string face_cascade_name("haarcascade_frontalface_alt.xml");
if( !face_cascade.load(face_cascade_name) { ... }

尝试从sysinternals运行filemon,看看访问windows应用程序的文件到底在做什么。我不确定,但我猜它是由face_cascade.load在内部调用的。也许是其他功能。我知道当我把它作为一个控制台应用程序运行时,同样的代码也能工作。但是当我把它放到Windows应用程序中,并从WndProc调用此代码时,它就不再工作了。谢谢filemon的建议。我安装了successorProcess Monitor,文件名被乱码。目录路径正确,但最终文件名被乱码。下面是乱码文件的外观:F:\My Documents\Visual Studio 2010\Projects\HelloWin\Debug\øB正确:F:\My Documents\Visual Studio2010\Projects\HelloWin\Debug\haarcascade_frontalface_alt.xml在我将配置从Debug更改为Release后,它开始工作。但它在调试配置中有这个问题吗?