Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

RusFAQ.ru: Программирование на C / C++


РАССЫЛКИ ПОРТАЛА RUSFAQ.RU

/ КОМПЬЮТЕРЫ И ПО / Языки программирования / C/C++

Выпуск № 795
от 13.07.2007, 20:35

Администратор:Калашников О.А.
В рассылке:Подписчиков: 489, Экспертов: 65
В номере:Вопросов: 2, Ответов: 5


Вопрос № 94325: Вопрос такого плана: необходимо тупо загружать в программе текстовый файлик из интернета. подскажите решение....
Вопрос № 94351: как проверить или существует файл в каталоге system32 Windows/system32/ff.sys на языке C ...

Вопрос № 94.325
Вопрос такого плана:
необходимо тупо загружать в программе текстовый файлик из интернета. подскажите решение.

Приложение:

Отправлен: 08.07.2007, 01:56
Вопрос задал: Marader1984 (статус: Посетитель)
Всего ответов: 1
Мини-форум вопроса >>> (сообщений: 2)

Отвечает: 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


Отправить вопрос экспертам этой рассылки

Приложение (если необходимо):

* Код программы, выдержки из закона и т.п. дополнение к вопросу.
Эта информация будет отображена в аналогичном окне как есть.

Обратите внимание!
Вопрос будет отправлен всем экспертам данной рассылки!

Для того, чтобы отправить вопрос выбранным экспертам этой рассылки или
экспертам другой рассылки портала RusFAQ.ru, зайдите непосредственно на RusFAQ.ru.


Форма НЕ работает в почтовых программах The BAT! и MS Outlook (кроме версии 2003+)!
Чтобы отправить вопрос, откройте это письмо в браузере или зайдите на сайт RusFAQ.ru.


© 2001-2007, Портал RusFAQ.ru, Россия, Москва.
Авторское право: ООО "Мастер-Эксперт Про"
Email: support@rusfaq.ru, тел.: +7 (926) 535-23-31
Хостинг: "Московский хостер"
Поддержка: "Московский дизайнер"
Авторские права | Реклама на портале
Версия системы: 4.53 beta от 09.07.2007
Яндекс Rambler's Top100
RusFAQ.ru | MosHoster.ru | MosDesigner.ru | RusIRC.ru
Kalashnikoff.ru | RadioLeader.ru | RusFUCK.ru

В избранное