IPB

Добро пожаловать, гость ( Вход | Регистрация )

10 Страниц V « < 8 9 10  
Reply to this topicStart new topic
> Delphi, Asm, C, WinAPI, PHP, ..., FAQ
-=CHE@TER=-
May 5 2025, 16:58
Сообщение #181


Walter Sullivan
***

Группа: Root Admin
Сообщений: 1,373
Регистрация: 4-February 08
Пользователь №: 3
Спасибо сказали: 320 раз(а)



Недавно я обновил свою функцию basename() которую использовал в программах для получения имени файла из полного пути. Обновил, добавив туда помимо проверки на символы "\" и "/", также на символ ":".
По идее, не совсем правильно искать этот символ по всей строке, ну да ладно.
Кто-нибудь спросит "а что, собственно, случилось?" на что я поведаю такую историю.

Давным-давно, когда DOS и прочие операционные системы только появились, не было каталогов (они же папки, они же директории) и все файлы были навалены в корень диска. Вернее, даже, дисковода, потому что жёстких дисков тогда тоже не было - было два дисковода A: и B:, где в первом, как правило, держали дискету с программой, а во втором дискету с файлами этой программой созданными. Поэтому, чтобы обратиться к файлу на другом дисководе, писали так (команда type выводит файл на экран):
type B:TEXTFILE.TXT
Т.е. указывали диск, затем двоеточие, и только потом имя файла.
Шло время и в DOS появились те самые каталоги-папки-директории, где разделитель был символ "\".
Так что путь теперь записывался так:
type B:\TEXTFILE.TXT
Однако, в целях обратной совместимости, запись с указанием файла в корне диска без последующего символа "\" так и осталась. Даже после того как вышел Windows и много ещё чего стряслось.
Поэтому даже сегодня можно написать:
type B:TEMP\TEXTFILE.TXT
И оно будет работать на Windows XP. А вот на Windows 7 использование такого способа уже не работает. Подозреваю, что начиная с Vista убрали обратную совместимость.
Добавлю, что в файловых системах NTFS двоеточие после имени файла используется для указания имени потока файла:
C:\Temp\TEXTFILE.TXT:stream_name


Спасибо сказали:
User is offlineProfile CardPM
Go to the top of the page
+Quote Post

10 Страниц V « < 8 9 10
Reply to this topicStart new topic
37 чел. читают эту тему (гостей: 37, скрытых пользователей: 0)
Пользователей: 0 -

 



Упрощённая версия Сейчас: 9th May 2025 - 12:39