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

Тема в разделе "MS Visual C++", создана пользователем coin, 7 май 2008.

  1. coin

    coin Гость

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

    SunSanych Well-Known Member

    Регистрация:
    28 июн 2006
    Сообщения:
    71
    Симпатии:
    0
    Есть Windows API функция

    Код (Text):
     CopyFile(LPCWSTR lpExistingFileName, LPCWSTR lpNewFileName, BOOL bFailIfExists);
    Как использовать должно быть понятно из её описания.
     
  3. coin

    coin Гость

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

    Dimmuborgir Гость

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

    coin Гость

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

    coin Гость

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

    gamecreator Гость

  8. coin

    coin Гость

    Все еще актуально :)
     
  9. Yason

    Yason Гость

    Что именно? На все вопросы вроде ответили... :)
     
  10. coin

    coin Гость

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

    shisik Well-Known Member

    Регистрация:
    26 авг 2007
    Сообщения:
    154
    Симпатии:
    0
    тогда abc должно быть wchar_t *. Можно вместо CopyFile использовать CopyFileA, тогда параметры будут иметь тип char *.
     
  12. coin

    coin Гость

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

    shisik Well-Known Member

    Регистрация:
    26 авг 2007
    Сообщения:
    154
    Симпатии:
    0
    Про АПИшные функции можно почитать в MSDN http://msdn.microsoft.com/ru-ru/library/default.aspx
    Что касается wchar_t и LPCWSTR - это соответственно юникод-символ и указатель на юникод-строку (typedef wchar_t * LPCWSTR; ). От ANSI-строки (char*) она отличается тем, что содержит 2-байтные символы.
     
  14. coin

    coin Гость

    Вопросов больше нет, всем спасибо :)
     
Загрузка...

Поделиться этой страницей