Форум программистов, компьютерный форум, киберфорум
C++ Builder
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.62/29: Рейтинг темы: голосов - 29, средняя оценка - 4.62
27 / 25 / 5
Регистрация: 22.04.2010
Сообщений: 772

FileExist: проверить существование файла с учетом регистра

30.03.2021, 13:43. Показов 6004. Ответов 18
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Привет!
Использую функцию FileExists для проверки существования файла.
Но встал вопрос проверки с учетом регистра, чего данная функция не делает.
Есть ли апи для данной задачи?
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
30.03.2021, 13:43
Ответы с готовыми решениями:

Как мне проверить существование файла независимо от регистра символов в его имени?
привет всем и с праздничком! никак не могу найти как мне проверить существование файла независимо от регистра символов в его имени. пытался...

Поиск файла с учетом регистра
Добрый день, уважаемые форумяне! возможно ли сделать чтобы эта функция nmExmpl = LoadPicture("D:\ENGLISH\PNG\EX\" & xPic...

Проверить существование файла. Проверить содержание ячейки
Уважаемые программисты я только начинаю тернистый путь, так что извините если вопросы не корректны. 1) Я в цикле открываю по очереди...

18
Модератор
 Аватар для D1973
9923 / 6459 / 2457
Регистрация: 21.01.2014
Сообщений: 27,409
Записей в блоге: 3
30.03.2021, 17:19
Цитата Сообщение от sitesv Посмотреть сообщение
Но встал вопрос проверки с учетом регистра, чего данная функция не делает.
Вы что-то путаете... Это, в принципе, функция Delphi, описанная в модуле <SysUtils.hpp> и регистр там совсем не важен...
0
27 / 25 / 5
Регистрация: 22.04.2010
Сообщений: 772
30.03.2021, 17:24  [ТС]
Я имею ввиду прописные или заглавные буквы в имени файла при проверке на существование через функцию FileExists.
0
Модератор
 Аватар для D1973
9923 / 6459 / 2457
Регистрация: 21.01.2014
Сообщений: 27,409
Записей в блоге: 3
30.03.2021, 17:44
Я именно про это Вам и ответил!
0
27 / 25 / 5
Регистрация: 22.04.2010
Сообщений: 772
30.03.2021, 17:48  [ТС]
Так я и спрашиваю, что в этой функции регистр не важен... Есть ли варианты, где именно осуществляется проверка с учетом регистра?
0
Модератор
 Аватар для D1973
9923 / 6459 / 2457
Регистрация: 21.01.2014
Сообщений: 27,409
Записей в блоге: 3
30.03.2021, 17:53
Цитата Сообщение от sitesv Посмотреть сообщение
Есть ли варианты, где именно осуществляется проверка с учетом регистра?
А на кой ляд это вообще надо? Я-то сперва понял, что Вам регистр мешает - вот и писал, что он в этой функции не важен... А зачем может понадобиться такая вот фишка - вообще представить не могу? Чтобы имена папок folder и FOLDER были разными? Так в Винде это не получится!
0
27 / 25 / 5
Регистрация: 22.04.2010
Сообщений: 772
30.03.2021, 18:02  [ТС]
В моем случае есть два каталога, на основе имени файла из первого я ищу подобное во втором каталоге. На одном из этапов происходит валидация имени полученного файла со списком файлов из каталога. Валидация происходит путем сравнения двух текстовых переменных. На другом этапе происходит проверка существования файла на диске.
0
Модератор
 Аватар для D1973
9923 / 6459 / 2457
Регистрация: 21.01.2014
Сообщений: 27,409
Записей в блоге: 3
31.03.2021, 06:56
Цитата Сообщение от sitesv Посмотреть сообщение
Валидация происходит путем сравнения двух текстовых переменных.
Так вот где собака порылась... FileExists() оказался сроду ни при чем...
Ну и как Вы делаете эту "валидацию"? Просто путем сравнения, типа такого?
C++
1
if (aStr == bStr) ...
так даже в этом случае можно просто привести переменные к одному регистру (AnsiUpperCase(), например) - тогда сравнение будет идти корректно.
А вообще - в модуле SysUtils определены 2 функции для сравнения строковых переменных: CompareStr(), которая сравнивает с учетом регистра и CompareText() - эта сравнивает без учета регистра...
1
 Аватар для volodin661
6793 / 2290 / 348
Регистрация: 10.12.2013
Сообщений: 7,901
06.06.2024, 16:18
Цитата Сообщение от D1973 Посмотреть сообщение
Так в Винде это не получится!
почему же, получится.
в NTFS имена case sensitive.
0
Модератор
 Аватар для D1973
9923 / 6459 / 2457
Регистрация: 21.01.2014
Сообщений: 27,409
Записей в блоге: 3
06.06.2024, 17:50
Цитата Сообщение от volodin661 Посмотреть сообщение
в NTFS имена case sensitive.
Да ну!
Миниатюры
FileExist: проверить существование файла с учетом регистра  
0
Эксперт .NET
6691 / 4102 / 1607
Регистрация: 09.05.2015
Сообщений: 9,574
06.06.2024, 18:28
В NTFS то имена case sensitive, а вот в самой винде по умолчанию и во всех виндовых файловых менеджерах файлы case insensitive. Без танцев с бубном файлы/папки, отличающиеся только регистром в винде не создать, но это конечно же возможно.
0
Модератор
 Аватар для D1973
9923 / 6459 / 2457
Регистрация: 21.01.2014
Сообщений: 27,409
Записей в блоге: 3
06.06.2024, 18:54
Цитата Сообщение от Someone007 Посмотреть сообщение
но это конечно же возможно
Someone007, два вопроса:
1. Как? (для удовлетворения любопытства)
2. Нахрена?
0
Эксперт .NET
6691 / 4102 / 1607
Регистрация: 09.05.2015
Сообщений: 9,574
06.06.2024, 19:34
Цитата Сообщение от D1973 Посмотреть сообщение
Как?
https://learn.microsoft.com/en... reatefilea & FILE_FLAG_POSIX_SEMANTICS

Еще в реестре настройка есть NtfsEnableDirCaseSensitivity в Win10 1803 и выше.
1
 Аватар для volodin661
6793 / 2290 / 348
Регистрация: 10.12.2013
Сообщений: 7,901
06.06.2024, 20:13
нахрена/не нахрена - вопрос второй.
но возможность такая есть.

Цитата Сообщение от D1973 Посмотреть сообщение
Чтобы имена папок folder и FOLDER были разными? Так в Винде это не получится!
создать два одинаковых, но разнорегистровых не даст, скорее всего,
а переименовывает запросто.

и в MacOS файл.системе та же история.
0
Модератор
 Аватар для D1973
9923 / 6459 / 2457
Регистрация: 21.01.2014
Сообщений: 27,409
Записей в блоге: 3
07.06.2024, 05:59
Цитата Сообщение от volodin661 Посмотреть сообщение
а переименовывает запросто
у меня не переименовывает. Ошибка такая же, что я приводил выше. ЧЯДН?
0
 Аватар для volodin661
6793 / 2290 / 348
Регистрация: 10.12.2013
Сообщений: 7,901
07.06.2024, 16:44
PowerShell
1
new-item AAA.BBB;  ren aaa.bbb -newname aaa.bbb -pass
0
Модератор
 Аватар для D1973
9923 / 6459 / 2457
Регистрация: 21.01.2014
Сообщений: 27,409
Записей в блоге: 3
07.06.2024, 20:56
volodin661, при чем тут PowerShell? Вы можете проделать это средствами C++Builder? Если нет - тему PowerShell рассматривают в другом разделе.
0
 Аватар для volodin661
6793 / 2290 / 348
Регистрация: 10.12.2013
Сообщений: 7,901
07.06.2024, 22:26
D1973, так надо было выражаться яснее; типа реализация File-функций в С++builder под Windows не поддерживает чувствит. к регистру при работе с именами файлов

а не вот это:

Цитата Сообщение от D1973 Посмотреть сообщение
Чтобы имена папок folder и FOLDER были разными? Так в Винде это не получится!
0
08.06.2024, 07:33
 Комментарий модератора 
Ладно, если по теме в разрезе C++ Builder дополнить нечего - оффтоп заканчиваем.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
08.06.2024, 07:33
Помогаю со студенческими работами здесь

Проверить существование файла
Ребят у меня такой вопрос у меня есть форма на форме 2 кнопки и 1 текст бокс первая кнопка выбирать файл после того как я выбрал файл путь...

Проверить существование файла!
хочу закончить программу и хотел бы спросить у вас как правильно написать условие: Если файл(название файла) отсутствуем тогда... и...

Проверить существование файла
Стандартная ситуация, сохранение текста из TextBox в файл. Нужно узнать, перед тем как всплывет окно SaveFile Dialog, есть ли у...

Проверить существование файла
Доброго времени суток, подскажите такую вешь, почему у меня всегда программа всегда идет по ветке then не зависимо от того существует файл...

Проверить на существование 3 файла
Подскажите новичку, как программно проверить существование 3 файлов С:\text1.txt C:\text2.txt C:\text3.txt Заранее...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
19
Ответ Создать тему
Новые блоги и статьи
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru