|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
26.09.2011, 17:33 | #1 |
Пользователь
Регистрация: 28.10.2008
Сообщений: 33
|
вылет программы при выводе простого числа (cout)
Пишу на Dev-cpp простенькую программку, для практики.
программу условно разбил на 3 части, первые 2 - загрузка информации из текстовых файлов и доработка по мелочи, а 3-я часть поиск, но это не это важно, а важно то, что, я например пишу int i = 0; cout<<i; Если это кусочек текста находится до или в последнем цикле моей программы, то всё работает, но как только я пишу аналогичный код после последнего цикла, то программа виснет, и вылетает. Почему так? Что может влиять на это? Никогда не сталкивался с подобным. Я в ступоре. Кусочек кода: ... cout<<i2 // <- это работает нормально } // скобка которая закрывает цикл /////3333//// условно обозначил третью часть программы int ura; ura=0; cout<<ura; // <- это не работает, консоль вылает не вывдя ничего cout<<"hi!"// <- а вот такое заработает, ественно, если //выше написанную //строчку убрать. |
26.09.2011, 20:49 | #2 |
Сама себе режиссер
Старожил
Регистрация: 27.04.2007
Сообщений: 3,365
|
Давайте полный код своей программы
Если я вас напрягаю или раздражаю, вы всегда можете забиться в угол и поплакать
|
26.09.2011, 21:20 | #3 |
Пользователь
Регистрация: 28.10.2008
Сообщений: 33
|
#include <iostream>
#include <fstream> #include <windows.h> #include <string> #include <cstdlib> #include <conio.h> using namespace std; int main(int argc, char *argv[]) { string crit; string file; string h="none"; ifstream conf; ifstream conf0; conf0.open("config.cfg"); int i=0; while(!conf0.eof()) { getline(conf0,h); i++; } cout<<i<<endl; string *param; param = new string[2*i]; int k=0; conf.open("config.cfg"); while(!conf.eof()) { int s=0; getline(conf,h); char *data1; data1 = new char[250]; char *data2; data2 = new char[250]; while((h[s]!='=')) { data1[s]=h[s]; s++; } data1[s]='\0'; param[k]=data1; cout<<param[k]<<"\n"; k++; s++; int s2=0; while (h[s]!=NULL) { data2[s2]=h[s]; s++;s2++; } data2[s2]='\0'; /////// если что, убрать param[k]=data2; cout<<param[k]<<"\n"; k++; } ///////2222//////// ifstream mail; mail.open("test.eml"); string line; int i2=0; while(!mail.eof()) { getline(mail,line); i2++; if (line.length()==0) break; } cout<<i2<<endl; string *lines; lines = new string[i2]; i2=0; mail.seekg(ios::beg); int d=0; cout<<i2; while(!mail.eof()) { getline(mail,lines[i2]); if ((lines[i2][0]==' ')&&(i2!=0)) { string st=lines[i2]; string st2; char t=' '; int y=0; int y2=0; while(t!=NULL) { t=st[y]; if (t==' ') {y++;continue;} st2[y2]=st[y]; y2++; y++; } lines[d].append(st2.c_str()); lines[i2]='\0'; } else d=i2; if (lines[i2].length()==0) break; i2++; cout<<i2 // <- это работает нормально } /////3333//// int ura; ura=0; cout<<ura; // <- это не работает, консоль вылает не вывдя ничего cout<<"hi!"// <- а вот такое заработает, ественно, если вышенаписанную //строчку убрать. system("PAUSE"); return EXIT_SUCCESS; } |
26.09.2011, 22:14 | #4 |
Пользователь
Регистрация: 28.10.2008
Сообщений: 33
|
проблемы с выводом, оказалось, начинаются еще при последних итерациях последнего цикла
|
27.09.2011, 01:10 | #5 |
Пользователь
Регистрация: 28.10.2008
Сообщений: 33
|
Скомпилировал в Code::Blocks, те же проблемы, хотя вылезли они чуть позже по итерациям цикла.
|
27.09.2011, 01:29 | #6 |
Пользователь
Регистрация: 28.10.2008
Сообщений: 33
|
проблема решена, если кому интересно:
Снес вот этот цикл while(t!=NULL) { t=st[y]; if (t==' ') {y++;continue;} st2[y2]=st[y]; y2++; y++; } Он по смыслу программы оказался не нужен (отсекание лишних пробелов) да и к тому же он кривовато написан. В общем, теперь работает! |
27.09.2011, 01:34 | #7 |
Участник клуба
Регистрация: 18.10.2008
Сообщений: 1,409
|
а память очищать кто будет?
|
27.09.2011, 01:51 | #8 |
Пользователь
Регистрация: 28.10.2008
Сообщений: 33
|
с памятью тоже уже разобрался, пока искал ошибку
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
паскаль. нахождение простого числа | Кинива | Паскаль, Turbo Pascal, PascalABC.NET | 3 | 09.06.2010 22:54 |
Вылет программы после завершение | kloffelin | Общие вопросы C/C++ | 3 | 17.04.2010 20:18 |
граница проверки простого числа | fs444 | Общие вопросы C/C++ | 4 | 24.03.2010 20:11 |
Вывод float числа в поток cout | IgorKr | Общие вопросы C/C++ | 7 | 30.05.2008 01:21 |