Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » Создание массива строк,где  каждая строка оканчивается null

Ответить
Настройки темы
Создание массива строк,где  каждая строка оканчивается null

Старожил


Сообщения: 163
Благодарности: 0

Профиль | Отправить PM | Цитировать


Несомненно, что многим приложениям приходится выполнять различные файловые операции, как-то копирование, перемещение, удаление или переименование файлов. Есть строенная поодержка файловых операций в Win32 допускает использование джокерных символов (я не знаю, что это такое) и указывать целые ветви каталогов. Прототип функции:
Код: Выделить весь код
WINSHELLAPI int WINAPI SHFileOperation (LPSHFILEOPSTRUCT lpFileOp);
В функцию передается только структура, которая определяет способ выполнения оболочкой файловых операций. Состав структуры:
Код: Выделить весь код
typedef struct_SHFILEOPSTRUCT {
    HWND hWnd;
    UINT wFunc;
    LPCSTR pFrom;
    LPCSTR pTo;
    FILEOP_FLAGS fFlags;
    BOOL fAnyOperationAborted;
    LPVOID hNameMappings;
    LPCSTR lpszProgressTitle;
}
 
.......
Файлы, над котороми выполняются операции, определяются параметрами pFrom и pTo, которые в действительности являются указателями на массив строк. Каждая строка заканчивается нулем (значением null), конец массива обозначется двумя значениями null. Даже если передается единственное имя файла, строка завершается двойным null.

Так вот у меня совсем не получается создать такой массив строк. Я даже не знаю с какой стороны подлезть, потому-что в моем понимании '\0' означает конец строки и все функции работы со строками думают точно так же. Или я не так понял null?
Если кто пользовался приведенной функцией, пожалуйста пример

-------
"Сколь бы сложной ни казалась проблема на первый взгляд, она, если правильно к ней подойти, окажется еще более сложной" - Пол Андерсон


Отправлено: 21:47, 18-04-2003

 

редкий гость


Сообщения: 1696
Благодарности: 44

Профиль | Сайт | Отправить PM | Цитировать


Crew
Если я правильно понял, то передаётся нечто вроде "C:\\some\\path\\file\0C:\\some\\another\\path\\file\0\0"

-------
http://ivank.ru


Отправлено: 16:44, 19-04-2003 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Старожил


Сообщения: 163
Благодарности: 0

Профиль | Отправить PM | Цитировать


а вот как программным  способом их склеить?
strcat мне не помог

-------
"Сколь бы сложной ни казалась проблема на первый взгляд, она, если правильно к ней подойти, окажется еще более сложной" - Пол Андерсон


Отправлено: 22:46, 19-04-2003 | #3


редкий гость


Сообщения: 1696
Благодарности: 44

Профиль | Сайт | Отправить PM | Цитировать


Crew
Ручками Код тривиален.

-------
http://ivank.ru


Отправлено: 01:12, 20-04-2003 | #4


Старожил


Сообщения: 163
Благодарности: 0

Профиль | Отправить PM | Цитировать


Если б догадался не спрашивал бы. Флеймим, товарищь модератор?

-------
"Сколь бы сложной ни казалась проблема на первый взгляд, она, если правильно к ней подойти, окажется еще более сложной" - Пол Андерсон


Отправлено: 17:00, 20-04-2003 | #5


Аватара для shurikan

Старожил


Сообщения: 240
Благодарности: 1

Профиль | Отправить PM | Цитировать


Crew
Да не флеймит он...
Выделяешь буфер достаточного размера. Используешь указатель на этот буфер. Копируешь через этот указатель одну строку. Ищешь '\0'. Устанавливаешь указатель на следующий байт. Копируешь через этот указатель следующую строку... И т.д. Пока строки не закончатся. А как закончились, записываешь ещё один нолик...

-------
UNIX, UNAS и др. Myself I'll like 'em


Отправлено: 01:56, 22-04-2003 | #6


Старожил


Сообщения: 163
Благодарности: 0

Профиль | Отправить PM | Цитировать


shurikan
спасибки

-------
"Сколь бы сложной ни казалась проблема на первый взгляд, она, если правильно к ней подойти, окажется еще более сложной" - Пол Андерсон


Отправлено: 16:59, 22-04-2003 | #7



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » Создание массива строк,где  каждая строка оканчивается null

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
2008 - Создание Raid массива без потери данных NikiWin Windows Server 2008/2008 R2 7 24-02-2011 07:58
Delphi - Создание массива кнопок VovanZ Программирование и базы данных 3 24-12-2009 22:49
Создание raid массива на работающей системе Orfan Microsoft Windows NT/2000/2003 5 28-10-2008 23:10
Создание динамического массива на Pascal-е Skynet Программирование и базы данных 3 09-10-2004 18:05
Нужно   поменять  вентилятор  на  ноутбуке  Dell  Cpi366 Guest Мобильные ОС, смартфоны и планшеты 2 08-10-2002 20:21




 
Переход