Форум программистов CODEBY.NET Хостинг в Беларуси — Active Technologies

Разработка бизнес сайтов

Нужны клиенты? Тогда сюда быстрее...
X   Сообщение сайта
(Сообщение закроется через 2 секунды)

Здравствуйте, гость ( Вход | Регистрация )




> копирование файлов
coin
Вставить ник
сообщение 7:05:2008, 03:38
Цитата Ответить 


Новенький
*

Группа: Программист
Сообщений: 19
Регистрация: 26:04:2008
Пользователь №: 16 904
Специализация: c++ developer



Репутация: - 0 +


Народ, как мне полностью скопировать файл (true color bmp в моем случае) использую MS VS 2005. Из того, что приходить в голову, это считывание по 1 байту информации и запись в другой файл, и так до EOF. Наверное и так будет работать, но нет ли уже готового варианта?
Зарание благодарен.
Подняться вверх 
 
Сообщение #1
 
Новая тема 
Ответов (1 - 13)
SunSanych
Вставить ник
сообщение 7:05:2008, 07:04
Цитата Ответить 


Новенький
*

Группа: Программист
Сообщений: 62
Регистрация: 28:06:2006
Пользователь №: 5 086
Специализация: программист С++



Репутация: - 2 +


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

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


Как использовать должно быть понятно из её описания.
Подняться вверх 
 
Сообщение #2
coin
Вставить ник
сообщение 8:05:2008, 12:29
Цитата Ответить 


Новенький
*

Группа: Программист
Сообщений: 19
Регистрация: 26:04:2008
Пользователь №: 16 904
Специализация: c++ developer



Репутация: - 0 +


Написал вот так:
Код
LPCWSTR aa = L"in.bmp";
LPCWSTR bb = L"out.bmp";
BOOL t=true;
CopyFile(aa,bb,t);

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

Сообщение отредактировал coin - 8:05:2008, 12:35
Подняться вверх 
 
Сообщение #3
Dimmuborgir
Вставить ник
сообщение 8:05:2008, 12:51
Цитата Ответить 


Новенький
*

Группа: Программист
Сообщений: 57
Регистрация: 27:12:2007
Пользователь №: 14 492
Специализация: Программист Visual C++



Репутация: - 0 +


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


Сообщение отредактировал Dimmuborgir - 8:05:2008, 13:00
Подняться вверх 
 
Сообщение #4
coin
Вставить ник
сообщение 9:05:2008, 09:36
Цитата Ответить 


Новенький
*

Группа: Программист
Сообщений: 19
Регистрация: 26:04:2008
Пользователь №: 16 904
Специализация: c++ developer



Репутация: - 0 +


А разницы? мне нужно имена и пути получить в процессе работы программы, приведенное выше отличается реализацией, а не смыслом smile.gif
Подняться вверх 
 
Сообщение #5
coin
Вставить ник
сообщение 9:05:2008, 11:59
Цитата Ответить 


Новенький
*

Группа: Программист
Сообщений: 19
Регистрация: 26:04:2008
Пользователь №: 16 904
Специализация: c++ developer



Репутация: - 0 +


Кстати, еще вопрос, как получить размер файл (текстового) ?
Подняться вверх 
 
Сообщение #6
gamecreator
Вставить ник
сообщение 9:05:2008, 12:15
Цитата Ответить 


Гуру
***

Группа: Достойный программист
Сообщений: 315
Регистрация: 3:11:2007
Пользователь №: 13 517



Репутация: - 1 +


GetFileSize
Подняться вверх 
 
Сообщение #7
coin
Вставить ник
сообщение 12:05:2008, 16:32
Цитата Ответить 


Новенький
*

Группа: Программист
Сообщений: 19
Регистрация: 26:04:2008
Пользователь №: 16 904
Специализация: c++ developer



Репутация: - 0 +


Все еще актуально smile.gif
Подняться вверх 
 
Сообщение #8
Yason
Вставить ник
сообщение 12:05:2008, 20:29
Цитата Ответить 


Продвинутый
**

Группа: Программист
Сообщений: 134
Регистрация: 27:02:2004
Пользователь №: 296



Репутация: - 6 +


Цитата(coin @ 12:05:2008, 19:32 ) *
Все еще актуально smile.gif
Что именно? На все вопросы вроде ответили... huh.gif
Подняться вверх 
 
Сообщение #9
coin
Вставить ник
сообщение 14:05:2008, 14:25
Цитата Ответить 


Новенький
*

Группа: Программист
Сообщений: 19
Регистрация: 26:04:2008
Пользователь №: 16 904
Специализация: c++ developer



Репутация: - 0 +


Повис собственно воопрос, как LPCWSTR получиться в процессе работы. что то вроде LPCWSTR t = abc; где abc - *char.
Подняться вверх 
 
Сообщение #10
shisik
Вставить ник
сообщение 14:05:2008, 19:21
Цитата Ответить 


Продвинутый
**

Группа: Программист
Сообщений: 137
Регистрация: 26:08:2007
Из: Харьков
Пользователь №: 12 480
Специализация: С/C++



Репутация: - 2 +


тогда abc должно быть wchar_t *. Можно вместо CopyFile использовать CopyFileA, тогда параметры будут иметь тип char *.
Подняться вверх 
 
Сообщение #11
coin
Вставить ник
сообщение 15:05:2008, 12:17
Цитата Ответить 


Новенький
*

Группа: Программист
Сообщений: 19
Регистрация: 26:04:2008
Пользователь №: 16 904
Специализация: c++ developer



Репутация: - 0 +


shisik большой респект smile.gif
Тогда еще вопрос, где можно почитать про такие вот апишные (мфцшые) функции работы с файлами,
а так же таки узнать, ктож такие wchar_t и LPCWSTR?
Подняться вверх 
 
Сообщение #12
shisik
Вставить ник
сообщение 15:05:2008, 14:28
Цитата Ответить 


Продвинутый
**

Группа: Программист
Сообщений: 137
Регистрация: 26:08:2007
Из: Харьков
Пользователь №: 12 480
Специализация: С/C++



Репутация: - 2 +


Про АПИшные функции можно почитать в MSDN http://msdn.microsoft.com/ru-ru/library/default.aspx
Что касается wchar_t и LPCWSTR - это соответственно юникод-символ и указатель на юникод-строку (typedef wchar_t * LPCWSTR; ). От ANSI-строки (char*) она отличается тем, что содержит 2-байтные символы.
Подняться вверх 
 
Сообщение #13
coin
Вставить ник
сообщение 16:05:2008, 11:04
Цитата Ответить 


Новенький
*

Группа: Программист
Сообщений: 19
Регистрация: 26:04:2008
Пользователь №: 16 904
Специализация: c++ developer



Репутация: - 0 +


Вопросов больше нет, всем спасибо smile.gif
Подняться вверх 
 
Сообщение #14


Быстрый ответ  Ответить  Новая тема 

> Быстрый ответ
Полужирный
Курсив
Подчеркнутый
Вставить изображение
Смайлики
Цитата
Код
 
 Отправлять уведомления об ответах на e-mail |  Включить смайлики |  Добавить подпись
   

 

RSS Текстовая версия Сейчас: 6:07:2008 - 00:47
с нами можно связаться по:
телефону: +375-(29)-632-60-67
e-mail:info@codeby.net