Модераторы: bsa

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> что такое "." и ".." 
:(
    Опции темы
annushka89
Дата 27.3.2009, 16:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 55
Регистрация: 7.3.2009

Репутация: нет
Всего: нет



что такое "." и ".." не могу понять???
как физически это выглядит и зачем нужно???

и еще: как определить, файл открыт или используется кем-либо???
PM MAIL   Вверх
GoldFinch
Дата 27.3.2009, 16:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата



****


Профиль
Группа: Завсегдатай
Сообщений: 2141
Регистрация: 30.11.2008

Репутация: 6
Всего: 26



когда был дос все знали что это такое =\

.  - это текущий каталог, 
.. - это каталог уровнем выше

Цитата(annushka89 @  27.3.2009,  16:38 Найти цитируемый пост)
как определить, файл открыт или используется кем-либо??? 

в каждой ОС поразному
но можно попробовать открыть и проверить ошибку
PM MAIL ICQ   Вверх
annushka89
Дата 27.3.2009, 16:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 55
Регистрация: 7.3.2009

Репутация: нет
Всего: нет



а что эти чточки из себя представляют???
К примеру, я создала файл, а там автоматически эти точки уже есть???
Что они представляют из себя??? файл-набор байтов, а эти точки???
PM MAIL   Вверх
mes
Дата 27.3.2009, 17:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


любитель
****


Профиль
Группа: Участник Клуба
Сообщений: 7954
Регистрация: 14.1.2006

Репутация: 79
Всего: 250



Цитата(annushka89 @  27.3.2009,  15:48 Найти цитируемый пост)
а что эти чточки из себя представляют???

прозвища, для удобной ориентации в иерархии каталогов.


--------------------
PM MAIL WWW   Вверх
Anikmar
Дата 27.3.2009, 17:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2513
Регистрация: 26.11.2006
Где: Санкт-Петербург

Репутация: 5
Всего: 59



Цитата(mes @  27.3.2009,  17:01 Найти цитируемый пост)
прозвища, для удобной ориентации в иерархии каталогов. 

Разве прозвища? По-моему это реальные два элемента (по крайней мере в FAT) в каталоге с такими именами.
PM MAIL ICQ   Вверх
GoldFinch
Дата 27.3.2009, 17:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата



****


Профиль
Группа: Завсегдатай
Сообщений: 2141
Регистрация: 30.11.2008

Репутация: 6
Всего: 26



Anikmar, а *.* тоже реальный элемент?

есть дерево каталогов
\
\a\
\a\aa\
\a\aa\aaa\
\b\
\c\

для каталога \a\aa\aaa\
 запись ".\" это сам каталог \a\aa\aaa\
 запись "..\" это его родительский каталог \a\aa\   который на 1 уровень его выше
 запись "...\" это каталог \a\   который на 2 уровня его выше

и т.д.
PM MAIL ICQ   Вверх
zim22
Дата 27.3.2009, 17:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


depict1
****


Профиль
Группа: Завсегдатай
Сообщений: 2682
Регистрация: 15.1.2009
Где: Украина

Репутация: 29
Всего: 69



Можно создать файл с любым(почти любым) именем. Даже  с именем .. (две точки)


--------------------
PM MAIL   Вверх
bsa
Дата 27.3.2009, 17:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 9185
Регистрация: 6.4.2006
Где: Москва, Россия

Репутация: 85
Всего: 196



annushka89, если я тебя правильно понял, то ты открыла чем-то свой файл и обнаружила, что данные в нем отображаются точками. Это нормальное явление, если эти данные не являются печатными символами (коды 32...127, и для 8-ми байтовых кодировок 128-255). Рекомендую переключить программу просмотра в 16-тиричный режим (называется HEX).
PM   Вверх
Anikmar
Дата 27.3.2009, 17:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2513
Регистрация: 26.11.2006
Где: Санкт-Петербург

Репутация: 5
Всего: 59



Цитата(zim22 @  27.3.2009,  17:40 Найти цитируемый пост)
Можно создать файл с любым(почти любым) именем. Даже  с именем .. (две точки) 

Стандартными средствами Windows - нет. Запрещено.

Цитата(GoldFinch @  27.3.2009,  17:27 Найти цитируемый пост)
Anikmar, а *.* тоже реальный элемент?

Нет.

На счет NTFS фрать не буду, а в FAT в элементах подкаталога (не корневого) первые два элемента зарезервированы. 
Элемент № 0 ссылается на первый кластер FATa текущего каталога. В поле имени заносится точка. 
Элемент № 1 ссылается на родительский каталог. В поле имени заносится две точки.

В корневом каталоге этих записей нет, но зато у него другое ограничение - максимальное количество элементов.

Если в процессе глюка или еще чего-то в каталоге окажется файл с именем точка или две точки думаю ничего страшного не будет - потому, что система обращается к этим зарезервированным элементам по их номерам, а не по именам.

Так было в FAT16, думаю в FAT32 также.

Эти две записи имеют обязательный атрибут "каталог" и именно их фозвращают функции findfirst / findnext.

PM MAIL ICQ   Вверх
zim22
Дата 27.3.2009, 18:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


depict1
****


Профиль
Группа: Завсегдатай
Сообщений: 2682
Регистрация: 15.1.2009
Где: Украина

Репутация: 29
Всего: 69



Цитата(Anikmar @  27.3.2009,  17:57 Найти цитируемый пост)
Стандартными средствами Windows - нет. Запрещено.

если под стандартным средством понимать командный интерпретатор cmd.exe - то можно ;)


--------------------
PM MAIL   Вверх
annushka89
Дата 27.3.2009, 18:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 55
Регистрация: 7.3.2009

Репутация: нет
Всего: нет



всем спасибо, функции findfirst / findnext в каком порядке возвращают список каталогов/файлов???
"." и ".." всегда будут первыми???
и еще: какую роль при поиски файлов,каталогов играет символ "*"???
PM MAIL   Вверх
Anikmar
Дата 27.3.2009, 18:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2513
Регистрация: 26.11.2006
Где: Санкт-Петербург

Репутация: 5
Всего: 59



Цитата(zim22 @  27.3.2009,  18:21 Найти цитируемый пост)
если под стандартным средством понимать командный интерпретатор cmd.exe - то можно ;) 


Из командной строки? Как, поделитесь - по идее запрещено, как нельзя создать файл с именем *

Добавлено через 1 минуту и 55 секунд
annushka89, 
Символы * и ?
являются символами маска. * - любая последовательность символов, ? - любой один символ
PM MAIL ICQ   Вверх
zim22
Дата 27.3.2009, 18:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


depict1
****


Профиль
Группа: Завсегдатай
Сообщений: 2682
Регистрация: 15.1.2009
Где: Украина

Репутация: 29
Всего: 69



Anikmar, не помню все приколы с издевательствами над ФС.
Вот некоторые, которые работают у меня на Висте:
1) Создать папку с именем три точки: mkdir ...\
2) Удалить так: Посмотреть её досовское имя сначало: dir /x
А потом набрать: rd ДОС_ИМЯ. Например rd 7154~1
3) Создать папку с именем aux: mkdir aux.\
4) Удалить папку aux: rd aux.\

Ещё можно было файлы создавать с такими же именами. И заходить внутрь этих "некорректно" созданных папок.
Но я не могу сейчас вспомнить как я это делал. Помню, что использовал UNC путь к ним. 
Что-то вроде: cd \\.\aux или cd \\?\aux





--------------------
PM MAIL   Вверх
Anikmar
Дата 27.3.2009, 18:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2513
Регистрация: 26.11.2006
Где: Санкт-Петербург

Репутация: 5
Всего: 59



Цитата(zim22 @  27.3.2009,  18:40 Найти цитируемый пост)
Anikmar, не помню все приколы с издевательствами над ФС.
Вот некоторые, которые работают у меня на Висте:
1) Создать папку с именем три точки: mkdir ...\
2) Удалить так: Посмотреть её досовское имя сначало: dir /x
А потом набрать: rd ДОС_ИМЯ. Например rd 7154~1
3) Создать папку с именем aux: mkdir aux.\
4) Удалить папку aux: rd aux.\


С Aux у меня получилось, с точками нет.

Но это скорее глюк, чем стандартная работа, согласитесь.
PM MAIL ICQ   Вверх
zim22
Дата 27.3.2009, 18:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


depict1
****


Профиль
Группа: Завсегдатай
Сообщений: 2682
Регистрация: 15.1.2009
Где: Украина

Репутация: 29
Всего: 69



Anikmar, это надёжный глюк, а не случайного характера. Т.е. можно быть уверенным, что файлы помещенные в такие папки, не удалятся "случайно".
Этим способом можно пользоваться для организации скрытых хранилищ. ОС не сможет зайти в такую папку. А вы сможете smile
Плюс можно переименовывать существующие папки с нормальными именами на такие "некорректные" имена.

можно ещё такую папку создать: mkdir .123..\
а зайти внутрь неё так: cd .123..\
создать файл внутри папки: echo "hello">f
скопировать файл в корень диска Д copy f d:\1.txt

папку с именем "ee" (т.е. с обычным именем) переименовать в .123..   ren ee ".123../"
переименовать обратно: ren 123~1 ee
удалить так: rd /Q /S ДОС_ИМЯ


Это сообщение отредактировал(а) zim22 - 27.3.2009, 19:09


--------------------
PM MAIL   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "C/C++: Для новичков"
JackYF
bsa

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, bsa.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.0563 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.