Здравствуйте.
Как скопировать изображение с помощью CopyFile, если имя изображения нам известно?
У нас имеется имя изображения есть двух типов(на выбор) :
1. типа const wchat *image_name = "001.jpg"
2. типа const char *image_name2 = "001.jpg"
Есть функция - CopyFile(L"\\image_name", L"\\0\\image_name.jpg", true);
Мы копируем из корневой папки файл в папку 0, без изменения имени.
Вроде простой случай, но возник затык.
UPD:
Использовал wcscat. Но значение
p_image
и
pc_image
не меняются.
Вот код:
WIN32_FIND_DATA FindFileData;
HANDLE hf;
hf = FindFirstFile(L"*.jpg", &FindFileData);
if (hf != INVALID_HANDLE_VALUE)
{
do
{
k = 2;
//CStringW image_name = FindFileData.cFileName;
//CString myConvertedString = image_name;
///*const char* namefile;
//cout << "Name file";
//cin >> namefile;*/
const WCHAR* image_name = FindFileData.cFileName;
const WCHAR* image_name3 = FindFileData.cFileName;
_bstr_t b(image_name);
const char* image_name2 = b;
init_image(image_name2, k, sty);
pert1 = template_1(y, x);
pert2 = template_2(y, x);
pert3 = template_3(y, x);
/* cout << "template 1: = " << pert1 << endl;
cout << "template 2: = " << pert2 << endl;
cout << "template 3: = " << pert3 << endl;
system("pause");
*/
res = calculation_number(pert1, pert2, pert3);
if (res == -1)
cout << "нет распознанных цифр" << endl;
if (res == 0)
{
cout << "Это изображение распознано как 0:" << image_name2 << endl;
WCHAR *p_image = L"\\";
WCHAR *pc_image = L"\\0\\";
wchar_t* wcscat(wchar_t* p_image, const wchar_t* image_name3);
wchar_t* wcscat(wchar_t* pc_image, const wchar_t* image_name3);
wcout << p_image << endl;
wcout << pc_image << endl;
CopyFile(p_image, pc_image, true);
}
//std::wcout << FindFileData.cFileName << endl;
} while (FindNextFile(hf, &FindFileData) != 0);
FindClose(hf);
system("pause");
}