Форум программистов
 
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.

Вернуться   Форум программистов > Низкоуровневое программирование > Win Api
Регистрация

Восстановить пароль
Повторная активизация e-mail


Донат для форума - использовать для поднятия настроения себе и модераторам

А ещё здесь можно купить рекламу за 15 тыс руб в месяц! ) пишите сюда - alarforum@yandex.ru

Ответ
 
Опции темы
Старый 06.05.2019, 14:34   #1
Korshi
Пользователь
 
Регистрация: 30.04.2019
Сообщений: 43
Репутация: 10
По умолчанию PathFileExistsA vs GetFileAttributesA

Добрый день!
Нужна функция, которая проверяет существование диска, папки, файла.
В интернете прочитал, что наиболее распространена для этой задачи Win32 API функция "GetFileAttributesA".
Но с точки зрения здравого смысла логичнее использовать "PathFileExistsA". Т.к. само название функции включает слово "Exists". Кроме того, у меня нет задачи узнать атрибуты папки, файла.

Что лучше использовать? В чём опасность (какие подводные камни) использования "PathFileExistsA"? Написано, что эта функция находится в специфической библиотеке и что нужен Internet Explorer.

Я планирую использовать функцию в Windows 7, Windows 10 и других новых версиях виндоуса, которые появятся в будущем.

При беглом тестировании разницы между этими двумя функция не нашёл: возвращают одинаковые ошибки при одинановых обстоятельствах.

Я пишу программу не на C и C++, поэтому встроенные инструменты этих языков мне недоступны.
Korshi вне форума   Ответить с цитированием
Старый 06.05.2019, 14:56   #2
waleri
Профессионал
 
Регистрация: 13.07.2012
Адрес: Нижний Новгород
Сообщений: 5,835
Репутация: 1860
По умолчанию

Цитата:
Сообщение от Korshi Посмотреть сообщение
с точки зрения здравого смысла
Не тратьте время на пустые проверки, от которых ничего не зависит.
Делайте с файлом то, что вам нужно, и следите за ошибками.
waleri на форуме   Ответить с цитированием
Старый 06.05.2019, 15:30   #3
Alex11223
Модератор
Заслуженный модератор
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 18,650
Репутация: 3570

icq: 512-765
skype: alexp.frl
По умолчанию

И зачем A вместо W?
Alex11223 на форуме   Ответить с цитированием
Старый 06.05.2019, 15:34   #4
Korshi
Пользователь
 
Регистрация: 30.04.2019
Сообщений: 43
Репутация: 10
По умолчанию

У меня с W не работает. Я читал в интернете про A и W, но так и не понял смысла, т.к. я не C и C++ программист.
Korshi вне форума   Ответить с цитированием
Старый 06.05.2019, 15:37   #5
Alex11223
Модератор
Заслуженный модератор
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 18,650
Репутация: 3570

icq: 512-765
skype: alexp.frl
По умолчанию

Причем тут С, W юникодные, А нет. А могут сломаться если в именах что-то за пределами 128 символов ASCII.
Какой язык-то?
Alex11223 на форуме   Ответить с цитированием
Старый 06.05.2019, 15:40   #6
Korshi
Пользователь
 
Регистрация: 30.04.2019
Сообщений: 43
Репутация: 10
По умолчанию

язык VBA
Korshi вне форума   Ответить с цитированием
Ответ

Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Где посмотреть список ошибок, возвращаемых PathFileExistsA? Korshi Win Api 16 30.04.2019 19:42


23:11.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2019, Jelsoft Enterprises Ltd.

Проекты отопления, пеллетные котлы, бойлеры, радиаторы
интернет магазин respective.ru