C++(或opencv中,具体原因还不知道)中不支持中文名的文件

 今天写用opencv一个播放avi格式的视频,发现文件名必须是标识符才可以,中文名就不行。

源码:

     不能通过编译的:

                                 

#include"highgui.h"
int main()
{
 cvNamedWindow("E2",CV_WINDOW_AUTOSIZE);
 CvCapture* capture=cvCreateFileCapture("E:/天空之城.avi");
  IplImage* frame;
 while(1)
 {
  frame=cvQueryFrame(capture);
  if(!frame) break;
  cvShowImage("E2",frame);
  char c=cvWaitKey(33);
  if(c==27) break;

 }
 cvReleaseCapture(&capture);
 cvDestroyWindow("E2");
}

 

能通过编译的:

#include"highgui.h"
int main()
{
 cvNamedWindow("E2",CV_WINDOW_AUTOSIZE);
 CvCapture* capture=cvCreateFileCapture("E:/1.avi");
  IplImage* frame;
 while(1)
 {
  frame=cvQueryFrame(capture);
  if(!frame) break;
  cvShowImage("E2",frame);
  char c=cvWaitKey(33);
  if(c==27) break;

 }
 cvReleaseCapture(&capture);
 cvDestroyWindow("E2");
}

 

当换做@开头时也可以,说明其支持英文及符号的混编,但不支持中文的名字。

你可能感兴趣的:(C++(或opencv中,具体原因还不知道)中不支持中文名的文件)