• 15 апреля стартует «Курс «SQL-injection Master» ©» от команды The Codeby

    За 3 месяца вы пройдете путь от начальных навыков работы с SQL-запросами к базам данных до продвинутых техник. Научитесь находить уязвимости связанные с базами данных, и внедрять произвольный SQL-код в уязвимые приложения.

    На последнюю неделю приходится экзамен, где нужно будет показать свои навыки, взломав ряд уязвимых учебных сайтов, и добыть флаги. Успешно сдавшие экзамен получат сертификат.

    Запись на курс до 25 апреля. Получить промодоступ ...

копирование файлов

  • Автор темы coin
  • Дата начала
C

coin

Народ, как мне полностью скопировать файл (true color bmp в моем случае) использую MS VS 2005. Из того, что приходить в голову, это считывание по 1 байту информации и запись в другой файл, и так до EOF. Наверное и так будет работать, но нет ли уже готового варианта?
Зарание благодарен.
 
S

SunSanych

Есть Windows API функция

Код:
 CopyFile(LPCWSTR lpExistingFileName, LPCWSTR lpNewFileName, BOOL bFailIfExists);

Как использовать должно быть понятно из её описания.
 
C

coin

Написал вот так:
Код:
LPCWSTR aa = L"in.bmp";
LPCWSTR bb = L"out.bmp";
BOOL t=true;
CopyFile(aa,bb,t);
Но не могу понять, как преобразовать char* c именем файла в LPCWSTR.
Тоесть мне нужно путь к файлу описать динамически, в процессе работы, а не на этапе компиляции.
Куда копать?
 
D

Dimmuborgir

на самом деле все проще
Код:
const wchar_t* pszFile1=L"in.bmp";
const wchar_t* pszFile2=L"out.bmp";
CopyFile(pszFile1,pszFile2,1);
 
C

coin

А разницы? мне нужно имена и пути получить в процессе работы программы, приведенное выше отличается реализацией, а не смыслом :)
 
C

coin

Кстати, еще вопрос, как получить размер файл (текстового) ?
 
C

coin

Повис собственно воопрос, как LPCWSTR получиться в процессе работы. что то вроде LPCWSTR t = abc; где abc - *char.
 
S

shisik

тогда abc должно быть wchar_t *. Можно вместо CopyFile использовать CopyFileA, тогда параметры будут иметь тип char *.
 
C

coin

shisik большой респект :)
Тогда еще вопрос, где можно почитать про такие вот апишные (мфцшые) функции работы с файлами,
а так же таки узнать, ктож такие wchar_t и LPCWSTR?
 
S

shisik

Про АПИшные функции можно почитать в MSDN
Что касается wchar_t и LPCWSTR - это соответственно юникод-символ и указатель на юникод-строку (typedef wchar_t * LPCWSTR; ). От ANSI-строки (char*) она отличается тем, что содержит 2-байтные символы.
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!