关于C++控制台程序遍历文件夹的有关问题

关于C++控制台程序遍历文件夹的问题
#include "stdafx.h"
#include <windows.h>
#include <stdio.h>
#include <string.h>
#include <tchar.h>
#include <opencv2/highgui/highgui.hpp>
#include "opencv2/imgproc/imgproc.hpp"
#define LEN 1024

BOOL DirectoryList(LPCSTR Path)
{
 WIN32_FIND_DATA FindData;
 HANDLE hError;
 int FileCount = 0;
 char FilePathName[LEN];
 // 构造路径
 char FullPathName[LEN];
 strcpy(FilePathName, Path);
 strcat(FilePathName, "\\*.*");

 hError =::FindFirstFile(FilePathName, &FindData);
 if (hError == INVALID_HANDLE_VALUE)
 {
  printf("搜索失败!");
  return 0;
 }
 while(::FindNextFile(hError, &FindData))
 {
  // 过虑.和..
  if (strcmp(FindData.cFileName, ".") == 0 
   || strcmp(FindData.cFileName, "..") == 0 )
  {
   continue;
 }
  
  // 构造完整路径
 wsprintf(FullPathName, "%s\\%s", Path,FindData.cFileName);
FileCount++;
 // 输出本级的文件
 printf("\n%d  %s  ", FileCount, FullPathName);

  if (FindData.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY)
  {
   printf("<Dir>");
   DirectoryList(FullPathName);
  }



 }
 return 0;
}


1 IntelliSense: "char *" 类型的实参与 "LPCWSTR" 类型的形参不兼容 d:\Project\CV\CharacterRecognitionTrainning\CharacterRecognitionTrainning.cpp 24 26 CharacterRecognitionTrainning
4 IntelliSense: "char *" 类型的实参与 "LPWSTR" 类型的形参不兼容 d:\Project\CV\CharacterRecognitionTrainning\CharacterRecognitionTrainning.cpp 40 11 CharacterRecognitionTrainning
5 IntelliSense: "const char *" 类型的实参与 "LPCWSTR" 类型的形参不兼容 d:\Project\CV\CharacterRecognitionTrainning\CharacterRecognitionTrainning.cpp 40 25 CharacterRecognitionTrainning
2 IntelliSense: "WCHAR *" 类型的实参与 "const char *" 类型的形参不兼容 d:\Project\CV\CharacterRecognitionTrainning\CharacterRecognitionTrainning.cpp 33 14 CharacterRecognitionTrainning
3 IntelliSense: "WCHAR *" 类型的实参与 "const char *" 类型的形参不兼容 d:\Project\CV\CharacterRecognitionTrainning\CharacterRecognitionTrainning.cpp 34 14 CharacterRecognitionTrainning

------解决方案--------------------
工程-属性里设置使用多字节字符集
------解决方案--------------------
把工程属性里面的字符串用多字节字符集
------解决方案--------------------
   CString cStrs("D:\\PicImage\\*.*");

------解决方案--------------------
引用:
Quote: 引用:

   CString cStrs("D:\\PicImage\\*.*");

按照你的方法是可以了,但是新问题又出现了 只有一调用opencv里的函数 机会 出现 LNK1120 Error 这种错误

添加opencv的lib来link
------解决方案--------------------
引用:
Quote: 引用:

工程-属性里设置使用多字节字符集


没按你的方法设
从新写了一段代码

   WIN32_FIND_DATA FindFileData;
   HANDLE hFind;
   CString cStrs("D:\\PicImage");
   CStringW strw(cStrs);
   LPCWSTR ptr = strw;
   hFind = FindFirstFile(ptr, &FindFileData);
   if (hFind == INVALID_HANDLE_VALUE) 
   {
      printf ("FindFirstFile failed (%d)\n", GetLastError());
      return 0;
   } 
   else 
   {
      _tprintf (TEXT("The first file found is %s\n"), 
                FindFileData.cFileName);   
   }
/*
    while(::FindNextFile(hFind, &FindFileData))
 {
  _tprintf (TEXT("The next file found is %s\n"), 
                FindFileData.cFileName);