Вопрос № 94325: Вопрос такого плана:
необходимо тупо загружать в программе текстовый файлик из интернета. подскажите решение....Вопрос № 94351: как проверить или существует файл в каталоге system32
Windows/system32/ff.sys на языке C
...
Вопрос № 94.325
Вопрос такого плана:
необходимо тупо загружать в программе текстовый файлик из интернета. подскажите решение.
Отвечает: Maxim V.G.
Здравствуйте, Marader1984!
"Тупо загружать текстовый файлик из интернета" можно разными способами (тип файлика не имеет значения). Напишу наиболее простые:
1) Сделать программу которая будет висеть на сервере и при надобности отправлять содержимое файла - возможно если свой сервер. Кроме того можно подключить (ранее созданный) модуль шифрования и при приёме передаче данных шифровать/расшифровывать переданные данные.
2) Организовать обращение используя протокол http для обращения к файлу. В строке запроса вписать имя файла (http://myserver/myfile.txt). http сервер проверит наличие файла и при его присутствии вернёт содержимое файла. Ограничить можно настроив доступ к файлу только для определённых пользователей.
3) Использовать протокол ftp: При соединении с фтп сервером как правило сервер возвращает список файлов и деррикторий в папке установленной для сервера корневой. Безопасность обеспечивается фтп сервером через ограничения доступа к определённым папкам и файлам на диске.
4) Открыть протокол NetBios для сети интернет и забирать файл через него. Очень опасный способ так, как появиться огромная дыра для злоумышленников!
Хотя если проект заслуживает внимания то лучше перенести "текстовые файлики" перенести в базы данных или использовать 1 вариант.
Удачи.
--------- Жить вредно - от неё умирают
Ответ отправил: Maxim V.G. (статус: 2-ой класс)
Ответ отправлен: 08.07.2007, 11:53
Вопрос № 94.351
как проверить или существует файл в каталоге system32
Windows/system32/ff.sys на языке C
Отправлен: 08.07.2007, 12:31
Вопрос задал: Ingberg (статус: Посетитель)
Всего ответов: 4 Мини-форум вопроса >>> (сообщений: 0)
Отвечает: Maxim V.G.
Здравствуйте, Ingberg!
Можно так:
#include ....
....
int main(void){
int f;
// или
// FILE* f;
char * openFile = "C://Windows//system32//ff.sys";
..........
f = fopen(openFile,"r" );
if (!f){
printf(%s%s%s, "Can't open file ", openFile, "or file not seach on directory");
return 1;
}
.............
return 0;
}
Т.е открываешь файл на чтение. Если такого файла нет то будет ошибка - fopen вернёт NULL.
--------- Жить вредно - от неё умирают
Ответ отправил: Maxim V.G. (статус: 2-ой класс)
Ответ отправлен: 08.07.2007, 13:44
Отвечает: Попов А.С.
Здравствуйте, Ingberg!
Достаточно попробовать его открыть:
FILE *ptr;
ptr=fopen("c:\windows\system32\ff.sys","r");
if (ptr) printf("Существует");
else printf("Не существует"); // ptr==NULL
Ответ отправил: Попов А.С. (статус: 1-ый класс)
Ответ отправлен: 08.07.2007, 14:28
Отвечает: kool
Здравствуйте, Ingberg!
В Win32 есть такая ф-ция (см. MSDN)
DWORD SearchPath(
LPCTSTR lpPath, // search path
LPCTSTR lpFileName, // file name
LPCTSTR lpExtension, // file extension
DWORD nBufferLength, // size of buffer
LPTSTR lpBuffer, // found file name buffer
LPTSTR *lpFilePart // file component
);
В общем случае файл можно попытаться открыть
с минимальными правами и если будет возвращена
ошибка что файла не существует, то значит нет
такого файла. Удачи!
--------- I am.
Ответ отправил: kool (статус: Практикант)
Ответ отправлен: 08.07.2007, 16:04
Отвечает: Sergey A. Wedensky
Здравствуйте, Ingberg!
Попытка открыть файл - это конечно хорошо, но отрицательный ответ не всегда будет означать, что его не существует - он может быть открыт другим процессом без прав на шару. В приложении Win32API вариант.
Приложение:
Ответ отправил: Sergey A. Wedensky (статус: Студент)
Ответ отправлен: 09.07.2007, 09:40