Модераторы: Daevaorn
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Как избежать аварийное завершение проги 
:(
    Опции темы
rax
Дата 26.1.2005, 19:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 117
Регистрация: 4.6.2004
Где: Егорьевск

Репутация: нет
Всего: 1



Доброго всем времени суток!
Я написал программу (без вирусов, не бойтесь), которая, ищет в инете слова, записанные в вордлисте, и результат записывает в файл отчета.
Однако после некоторого времени работы, она просто завершает свою работу, не выводя никакого сообщения об ошибке smile
В чем может быть дело? Ведь если это прерывание, то должна ыинда должна крикнуть, что ошибка

Это сообщение отредактировал(а) rax - 26.1.2005, 19:34
PM MAIL WWW ICQ AOL YIM MSN   Вверх
_hunter
Дата 26.1.2005, 20:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 8564
Регистрация: 24.6.2003
Где: Europe::Ukraine:: Kiev

Репутация: 16
Всего: 98



а толку твой ехе-шник смотреть? ты код давай


--------------------
Tempora mutantur, et nos mutamur in illis...
PM ICQ   Вверх
Unknown_Error
Дата 26.1.2005, 20:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 54
Регистрация: 3.1.2005

Репутация: нет
Всего: нет



А причем здесь прерывание?

А вообще так трудно сказать почему! Желательно бы листинг посмотреть!
PM MAIL ICQ   Вверх
chaos
Дата 27.1.2005, 08:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Серийный программист
****


Профиль
Группа: Завсегдатай
Сообщений: 2979
Регистрация: 7.7.2004
Где: Екатеринбург

Репутация: 6
Всего: 44



пробуй перехватывать искл ситуации
PM WWW   Вверх
En_t_end
Дата 27.1.2005, 08:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 2074
Регистрация: 4.12.2004

Репутация: 1
Всего: 20



Смотри в системный журнал событий. - хотя...
Мне кажется, что прога просто читает последнее слово в списке - и завершает работу smile
Расставь по проге AfxMessageBox'ов и отлови момент, когда она завершается.
Действительно, причем здесь прерывание ? smile

PM MAIL ICQ Skype GTalk Jabber   Вверх
rax
Дата 27.1.2005, 19:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 117
Регистрация: 4.6.2004
Где: Егорьевск

Репутация: нет
Всего: 1



Код я дам, просто он у мя дома, а я на работе сейчас smile
Нет, прога ищет в хтмл коде ссылки и продвигается по ним дальше.
По идее это должно идти пока не закончатся ссылки на всех страницах. Однако все заканчивается гораздо раньше
PM MAIL WWW ICQ AOL YIM MSN   Вверх
rax
Дата 28.1.2005, 14:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 117
Регистрация: 4.6.2004
Где: Егорьевск

Репутация: нет
Всего: 1



А вот и он. За корявость не судите
Код

#include <afxwin.h>
#include "afxinet.h"
#include <afxdlgs.h>
#include <iostream.h>

void main() {


CString str;
CString s;
CString dururl="http://www.ru";
CString wrdar[100];
CString durl[1000];

int counter=0;
int curl=0;
int k=0;
int f=1;
int strt=0;
int fnsh=0;
int fnsh1=0;
int mfnsh=0;
unsigned long sz=0;

CInternetSession se("My Session");
CStdioFile* inf = NULL;
CStdioFile roma("log.txt",CFile::modeWrite);

cout<<"Let's GO>>";
cout<<"\n";
try
{
 CStdioFile File("wordlidt.txt",CFile::modeRead);
 

while (File.ReadString(str)) {
 k++;
if (k==1) dururl.operator =(str);
else wrdar[k-1].operator =(str);
cout<<wrdar[k];
}
 
}
catch(...)
{
 cout<<"Error (File open) !";
}
cout<<"URL's....";
cout<<"\n";

while (curl>=counter) {
 counter++;
 if (counter==1) durl[counter]=dururl;
  try {

  inf = se.OpenURL(durl[counter]);
  sz=sz+inf->GetLength();
  for (int i=1; i<=k; i++) {
  while (inf->ReadString(str)) {
   if (str.Find(wrdar[i])>0) {
    roma.WriteString("****"+wrdar[i]+"****\n");
   roma.WriteString((LPCTSTR)str);
roma.WriteString("\n    URL:    ");
roma.WriteString((LPCTSTR)dururl);
roma.WriteString("\n");}
   if (strt=str.Find("<a")>0) {
strt=str.Find("href",strt);
strt=str.Find(CString(34),strt);
fnsh=str.Find(CString(34),strt+1);
dururl=str.Mid(strt+1,fnsh-strt-1);
cout<<dururl;
cout<<"\n";
curl++;
durl[curl]=dururl;
}
  }
  }}
  catch(...) {
   cout<<"error";
cout<<"\n";

  }
}
roma.Close();
inf->Close();
cout<<"\n";
cout<<"Потраченный трафик:....\n";
cout<<sz;
cout<<"\n";
cout<<"Ok, Ready\n";

}


PM MAIL WWW ICQ AOL YIM MSN   Вверх
_hunter
Дата 28.1.2005, 16:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 8564
Регистрация: 24.6.2003
Где: Europe::Ukraine:: Kiev

Репутация: 16
Всего: 98



а ты дебагером по коду ходить пробовал? ( щас под рукой только Builder, но дома гляну )
+ есть подозрение что ты где-то ( с поиском ) за пределы массива выходиш


--------------------
Tempora mutantur, et nos mutamur in illis...
PM ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++:Общие вопросы"
Earnest Daevaorn

Добро пожаловать!

  • Черновик стандарта C++ (за октябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика(4.4мб).
  • Черновик стандарта C (за сентябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика (3.4мб).
  • Прежде чем задать вопрос, прочтите это и/или это!
  • Здесь хранится весь мировой запас ссылок на документы, связанные с C++ :)
  • Не брезгуйте пользоваться тегами [code=cpp][/code].
  • Пожалуйста, не просите написать за вас программы в этом разделе - для этого существует "Центр Помощи".
  • C++ FAQ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0466 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.