Re: Как определить, есть ли файл на диске?
ИТП>11 способов как это сделать
А как быть вот с этим файлом?:
\\192.168.0.1\shara\failo.dat
K.T.G.
Re[2]: Как определить, есть ли файл на диске?
Здравствуйте, Keen the Green, Вы писали:
ИТП>>11 способов как это сделать
KTG>А как быть вот с этим файлом?:
KTG>\\192.168.0.1\shara\failo.dat
Вопрос снят, access работает нормально.
K.T.G.
Re: Как определить, есть ли файл на диске?
Здравствуйте, Игорь Ткачёв, Павел Блудов, Игорь Вартанов, Игорь , Вы писали:
ИТП>Статья:
ИТП>Авторы:
ИТП> IT
ИТП> Alexander Shargin
ИТП> Igor Sukhov
ИТП> Игорь Вартанов
ИТП> Блудов Павел
ИТП>Аннотация:
ИТП>11 способов как это сделать
Ошибка в примере WTL надо вместо объекта CFileFind написать CFindFile
Re[3]: Как определить, есть ли файл на диске?
Hello Alex Fedotov, you wrote:
> Все относительно в этом мире.
Если все относительно, то относительна и фраза "все относительно в этом
мире". Т.о. делаем вывод, что не все относительно в этом мире.
ЗЫ: Философия...
--
Всего хорошего, Слава
Posted via RSDN NNTP Server 1.9
Здравствуйте, SergH, Вы писали:
SH>Нарвался с GetFileAttributes, актуально для всех. Нужно проверять GetLastError. Иначе, если, например, доступ запрёщен, программа будет думать, что файла нет.
bool FileExists( const char *fname )
{
if ( fname == NULL || strlen(fname) == 0 )
{
return false ;
}
DWORD dwAttrs = ::GetFileAttributes( fname );
if ( dwAttrs == DWORD(-1) )
{
DWORD dLastError = GetLastError();
if ( ERROR_SHARING_VIOLATION == dLastError
|| ERROR_LOCK_VIOLATION == dLastError
|| ERROR_SHARING_BUFFER_EXCEEDED == dLastError )
{
return true ;
}else
{
return false ;
}
}
return true ;
}
Re: Как определить, есть ли файл на диске?
От:
Аноним
Дата: 19.12.06 04:01
Оценка:
Здравствуйте, Игорь Ткачёв, Павел Блудов, Игорь Вартанов, Игорь , Вы писали:
ИТП>Статья:
ИТП>Как определить, есть ли файл на диске?Автор(ы): Игорь Ткачёв, Павел Блудов, Игорь Вартанов, Игорь Сухов, Александр Шаргин
ИТП>Авторы:
ИТП> IT
ИТП> Alexander Shargin
ИТП> Igor Sukhov
ИТП> Игорь Вартанов
ИТП> Блудов Павел
ИТП>Аннотация:
ИТП>11 способов как это сделать
Ну и про bat файлы грех забывать...
if exist *.rpt echo Отчет получен
Re: Как определить, есть ли файл на диске?
От:
Аноним
Дата: 19.12.06 05:19
Оценка:
Здравствуйте, Игорь Ткачёв, Павел Блудов, Игорь Вартанов, Игорь , Вы писали:
ИТП>Статья:
ИТП>Как определить, есть ли файл на диске?Автор(ы): Игорь Ткачёв, Павел Блудов, Игорь Вартанов, Игорь Сухов, Александр Шаргин
ИТП>Авторы:
ИТП> IT
ИТП> Alexander Shargin
ИТП> Igor Sukhov
ИТП> Игорь Вартанов
ИТП> Блудов Павел
ИТП>Аннотация:
ИТП>11 способов как это сделать
_findfirst вызывает FindFirstFile. Не стал бы указывать это отдельным методом.
insomnia.
Re[2]: Как определить, есть ли файл на диске?
Здравствуйте, Аноним, Вы писали:
А>Здравствуйте, Игорь Ткачёв, Павел Блудов, Игорь Вартанов, Игорь , Вы писали:
А>_findfirst вызывает FindFirstFile. Не стал бы указывать это отдельным методом.
А>insomnia.
То есть что ты предлагаешь ? После более чем пяти лет в эфире, взять и переименовать статью, как Киров в Вятку ?
* thriving in a production environment *
Re[3]: Как определить, есть ли файл на диске?
От:
Аноним
Дата: 19.12.06 10:06
Оценка:
Здравствуйте, Igor Sukhov, Вы писали:
IS>Здравствуйте, Аноним, Вы писали:
А>>Здравствуйте, Игорь Ткачёв, Павел Блудов, Игорь Вартанов, Игорь , Вы писали:
А>>_findfirst вызывает FindFirstFile. Не стал бы указывать это отдельным методом.
А>>insomnia.
IS>То есть что ты предлагаешь ? После более чем пяти лет в эфире, взять и переименовать статью, как Киров в Вятку ?
Ветка "всплыла" вот я статью только и увидел.
Re[2]: Как определить, есть ли файл на диске?
От:
ozolc
Дата: 17.08.07 07:59
Оценка:
А>Ну и про bat файлы грех забывать...
А>if exist *.rpt echo Отчет получен
А как быть если заранее неизвестно название файла, но знаем расширение?
На С#?
Re: Как определить, есть ли файл на диске?
От:
Hsilgos
Дата: 22.02.09 22:16
Оценка:
Господа, небольшое уточнение
bool FileExists(LPCTSTR fname)
{
HANDLE hFile = ::CreateFile(
fname, // file (or device) name
0, // query access only
FILE_SHARE_READ | FILE_SHARE_WRITE | FILE_SHARE_DELETE, // share mode
NULL, // security attributes
OPEN_EXISTING, // disposition
FILE_FLAG_NO_BUFFERING | FILE_FLAG_SEQUENTIAL_SCAN, // flags & attributes
NULL // template file
);
if (INVALID_HANDLE_VALUE != hFile)
{
::CloseHandle(hFile);
return true ;
}
if ( ERROR_ACCESS_DENIED == GetLastError() )
return true ;
return false ;
}
ХОЙ!
Пока на собственное сообщение не было ответов, его можно удалить.
Удалить