![]() |
Модераторы: feodorv, GremlinProg, xvr, Fixin |
![]() ![]() ![]() |
|
Fealeron |
|
||||
Новичок Профиль Группа: Участник Сообщений: 3 Регистрация: 24.8.2010 Репутация: нет Всего: нет |
Пишу программу на С++ с использованием Qt, необходимо удалять файлы в корзину под windows.
Использую для этого SHFileOperation, код приведен ниже. Часть файлов удаляется нормально, вторая часть отказывается удалятся возвращая код "2". Сижу в windows 7 (может быть это играет роль...). В msdn смотрел, не не нашел там такой ошибки в описании SHFileOperation, поиск в google выдаёт много мусора. Что значит код ошибки 2 у SHFileOperation? Может быть ошибка в написанном мною коде, если так, то покажите где. Заранее спасибо.
Это сообщение отредактировал(а) Fealeron - 24.8.2010, 14:24 |
||||
|
|||||
jonie |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 5613 Регистрация: 21.8.2005 Где: Владимир Репутация: 7 Всего: 118 |
GetLastError() смотрели?
-------------------- Что-то не поняли? -> Напейтесь до зеленых человечков... эта сверхцивилизация Вам поможет... |
|||
|
||||
Fealeron |
|
||||
Новичок Профиль Группа: Участник Сообщений: 3 Регистрация: 24.8.2010 Репутация: нет Всего: нет |
Нет, не смотрел. Потому, что прочитал вот что:
Вот тут: MSDN - SHFileOperation Function |
||||
|
|||||
ncr |
|
||||
Новичок Профиль Группа: Участник Сообщений: 19 Регистрация: 10.5.2010 Репутация: нет Всего: нет |
Ну так дочитайте до конца что ли:
|
||||
|
|||||
586 |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2243 Регистрация: 8.5.2006 Репутация: 39 Всего: 146 |
Так нули не добавятся. Можно вот так написать:
Это сообщение отредактировал(а) 586 - 25.8.2010, 14:18 |
|||
|
||||
Fealeron |
|
||||||
Новичок Профиль Группа: Участник Сообщений: 3 Регистрация: 24.8.2010 Репутация: нет Всего: нет |
Вы правы, всё дело в нулях. Правда и Ваш случай у меня не заработал, проблема была в той строчке, что я оставил. _tcscpy(char*, const char*) Если с TCHAR* ещё принимала такое: (char*)file_for_delete. То с str.utf16() оно работать не хотело не принимая const ushort* там, где требовало const char* и как быстро превращение сделать я не знаю. Поэтому, я решил сделать проще, хоть и менее красиво:
После этого все файлы нормально удаляются. Всем спасибо, вопрос исчерпан. ![]() |
||||||
|
|||||||
![]() ![]() ![]() |
Правила форума "C/C++: Системное программирование и WinAPI" | |
|
На данный раздел распространяются Правила форума и Правила раздела С++:Общие вопросы . Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Chipset, Step, Fixin, GremlinProg, xvr. feodorv. |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | C/C++: Системное программирование и WinAPI | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |