![]() |
Модераторы: Daevaorn |
![]() ![]() ![]() |
|
Madest |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 143 Регистрация: 27.11.2003 Где: Городок Репутация: нет Всего: нет |
Когда программа первый раз исполняет этот код, выдается:
2- c:\ZEZO\p 3- c:\ZEZO\p1
2- c:\ZEZO\p1 3- c:\ZEZO\p11 Это сообщение отредактировал(а) Madest - 27.5.2004, 20:05 --------------------
|
|||
|
||||
kruchinin |
|
||||
Шустрый ![]() Профиль Группа: Участник Сообщений: 100 Регистрация: 19.4.2003 Репутация: нет Всего: нет |
strcat здесь не причем (и вообще есть APi-шные функции для работы в Windows - lstrcat)
попробуй не присваивать
а везде делать
или strcpy - просто зачем подключать еще одну библиотеку если при работе с Win приложением у тебя автоматически есть та функция |
||||
|
|||||
Madest |
|
||||
Шустрый ![]() Профиль Группа: Участник Сообщений: 143 Регистрация: 27.11.2003 Где: Городок Репутация: нет Всего: нет |
Если так:
то тогда при передаче lp в
это не работает =( Это сообщение отредактировал(а) Madest - 27.5.2004, 19:57 --------------------
|
||||
|
|||||
Baa |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 2639 Регистрация: 12.4.2002 Где: Москва Репутация: 8 Всего: 12 |
Только так
![]() Видимо не совсем понимаешь, что есть указатель. Ты сначала зарезервировал 80 байт. На них указывает твой указатель, а потом ты взял и поменял ему место, на которое он указывает, на адрес, где записан твой "c:\\" соотв. дальше ты делаешь примерно тоже самое, а в конце вообще кульминация. Ты дописываешь 1 в память, где была записана та константа, затирая то, что после неё.
-------------------- "Duty is everything; the greatest of joys, the deepest of sorrows" Aribeth de Tylmarande |
|||
|
||||
Madest |
|
||||||||
Шустрый ![]() Профиль Группа: Участник Сообщений: 143 Регистрация: 27.11.2003 Где: Городок Репутация: нет Всего: нет |
Эти мои изыскания от безысходности =)
Этот фрагмент, вообще, лишь для того, чтоб убедиться сам не знаю в чем:
В общем, цель удалить директорию с файлами. Взял из FAQ:
А мне путь заранее неизвестен. Вот и пытаюсь:
Так срабатывает, но только один раз. А так ни разу:
Пишет: "Не удается удалить файл. Не удается произвести чтение из файла или с диска." Что же делать?! --------------------
|
||||||||
|
|||||||||
AndyY |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 316 Регистрация: 8.5.2004 Где: СПб Репутация: 2 Всего: 4 |
нужно так:
char sz[MAX_PATH]; strcpy( sz, "c:\\zero\\" ); strcat( sz, 1 ); ну или через new, malloc распределить память. а то ты пытаешься менять область памяти со статическими данными. а вообще хороший стиль - пользоваться функциями _tcs* (например, _tcscpy) еще лучше - с проверкой длинны строк (_tcsncpy) |
|||
|
||||
Madest |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 143 Регистрация: 27.11.2003 Где: Городок Репутация: нет Всего: нет |
Как все просто =) Перемудрил =)
Спасибо! --------------------
|
|||
|
||||
Shootnik |
|
|||
Новичок Профиль Группа: Участник Сообщений: 21 Регистрация: 20.9.2008 Репутация: нет Всего: нет |
Выдает такую же ошибку, как и у Madest'а. nameOfDirectory - имя папки, которую нужно удалить. Насколько я понял, здесь что-то с преобразованием char* в const char*. Но как это исправить. Буду очень благодарен, если напишите конкретный пример, так как моих знаний на понятия общих объяснений может не хватить. Заранее спасибо. Это сообщение отредактировал(а) Shootnik - 1.10.2008, 01:49 |
|||
|
||||
J0ker |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 986 Регистрация: 17.9.2008 Репутация: 4 Всего: 14 |
||||
|
||||
Shootnik |
|
|||
Новичок Профиль Группа: Участник Сообщений: 21 Регистрация: 20.9.2008 Репутация: нет Всего: нет |
||||
|
||||
J0ker |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 986 Регистрация: 17.9.2008 Репутация: 4 Всего: 14 |
я просто подумал возможно вы хотели написать "\\Temp\\Пробник\\0" и "0" - часть имени... |
|||
|
||||
xvr |
|
||||||||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 7046 Регистрация: 28.8.2007 Где: Дублин, Ирландия Репутация: 60 Всего: 223 |
![]()
|
||||||||
|
|||||||||
Shootnik |
|
||||
Новичок Профиль Группа: Участник Сообщений: 21 Регистрация: 20.9.2008 Репутация: нет Всего: нет |
Если писать так
то все работает, но если имя папки, которую нужно удалить не фиксировано, т.е.
то выдается ошибка. |
||||
|
|||||
J0ker |
|
||||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 986 Регистрация: 17.9.2008 Репутация: 4 Всего: 14 |
(уродство какое-то ![]()
Это сообщение отредактировал(а) J0ker - 1.10.2008, 19:23 |
||||
|
|||||
Shootnik |
|
|||
Новичок Профиль Группа: Участник Сообщений: 21 Регистрация: 20.9.2008 Репутация: нет Всего: нет |
и... ошибка то осталась, тем более если заменить "\\Temp\\Пробник\0" на какую-нибудь другую строку |
|||
|
||||
![]() ![]() ![]() |
Правила форума "С++:Общие вопросы" | |
|
Добро пожаловать!
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | C/C++: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |