Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Форум программистов _ MS Visual C++ _ копирование файлов

Автор: coin 7:05:2008, 03:38

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

Автор: SunSanych 7:05:2008, 07:04

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

  CopyFile(LPCWSTR lpExistingFileName, LPCWSTR lpNewFileName, BOOL bFailIfExists);


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

Автор: coin 8:05:2008, 12:29

Написал вот так:

LPCWSTR aa = L"in.bmp";
LPCWSTR bb = L"out.bmp";
BOOL t=true;
CopyFile(aa,bb,t);

Но не могу понять, как преобразовать char* c именем файла в LPCWSTR.
Тоесть мне нужно путь к файлу описать динамически, в процессе работы, а не на этапе компиляции.
Куда копать?

Автор: Dimmuborgir 8:05:2008, 12:51

на самом деле все проще

   
  const wchar_t* pszFile1=L"in.bmp";
  const wchar_t* pszFile2=L"out.bmp";
  CopyFile(pszFile1,pszFile2,1);

Автор: coin 9:05:2008, 09:36

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

Автор: coin 9:05:2008, 11:59

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

Автор: gamecreator 9:05:2008, 12:15

GetFileSize

Автор: coin 12:05:2008, 16:32

Все еще актуально smile.gif

Автор: Yason 12:05:2008, 20:29

Цитата(coin @ 12:05:2008, 19:32 ) *
Все еще актуально smile.gif
Что именно? На все вопросы вроде ответили... huh.gif

Автор: coin 14:05:2008, 14:25

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

Автор: shisik 14:05:2008, 19:21

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

Автор: coin 15:05:2008, 12:17

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

Автор: shisik 15:05:2008, 14:28

Про АПИшные функции можно почитать в MSDN ]]>http://forum.codeby.net/go.php?http://msdn.microsoft.com/ru-ru/library/default.aspx]]>
Что касается wchar_t и LPCWSTR - это соответственно юникод-символ и указатель на юникод-строку (typedef wchar_t * LPCWSTR; ). От ANSI-строки (char*) она отличается тем, что содержит 2-байтные символы.

Автор: coin 16:05:2008, 11:04

Вопросов больше нет, всем спасибо smile.gif

Форум Invision Power Board (http://nulled.ws)
© Invision Power Services (http://nulled.ws)