Segnetics

Вернуться   Segnetics > Форум Segnetics > Песочница

Песочница Удалённые с форума темы

Ответ
 
Опции темы Поиск в этой теме
Старый 16.04.2018, 14:00   #31
maxitronix
Member
 
Регистрация: Mar 2018
Сообщения: 34
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
По умолчанию Ответ: Подключение по FTP

Код:
void GetNames(vector<string> &names, vector<string> &types) { // Cчитывание и запись нужных sm-переменных из текст. файла в матрицу

	if (!FlashHere()) return;
        
	string buf;
	int num = 0;
	ifstream in(NAMES_DIR);
	while (!in.eof()) {
		getline(in, buf, ';');
		num++;
                cout << num << endl;
	}
      
        num = num -1;

	names.resize(num);
	types.resize(num);
        in.clear();
	in.seekg(0, ios::beg); //возврат потока в начало файла

	for (int i = 0; i < num; i++)
        {
            
                getline(in, buf, '.');
                types[i] = buf;
                
		getline(in, buf, ';');
		names[i] = buf;
               
                cout<< "|" << names[i] << "|" << types[i] << "|" << endl;
	}
	in.close();

}


	void InitFBD(vector<string> &names, vector<string> &types, Shm mymem) {
		int size = names.size();
		for (int num = 0; num < size; num++) {
			const char* cname = names[num].c_str();
			if (types[num] == "bool" && mymem.getType(cname) == BOOL)
                        {cout<< num << names[num] << " is ok"<< endl;continue;}
			else if (types[num] == "float" && mymem.getType(cname) == FLOAT)
				 {cout<< num << names[num] << " is ok"<< endl;continue;}
			else if (types[num] == "short" && mymem.getType(cname) == SHORT)
				 {cout<< num << names[num] << " is ok"<< endl;continue;}
			else if (types[num] == "long" && mymem.getType(cname) == LONG)
				 {cout<< num << names[num] << " is ok"<< endl;continue;}
                        else{ cout<< num << " "<< "oooops";exit(1);}
		}
                cout << "oooops";
		
	}
Что я делаю не так?... -_-
Изображения
Тип файла: png Безымянный.png (48.6 Кбайт, 21 просмотров)
maxitronix вне форума   Ответить с цитированием
Старый 16.04.2018, 14:12   #32
Arsie
Сотрудник Segnetics
 
Аватара для Arsie
 
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 086
Благодарил(а): 15 раз(а)
Поблагодарили: 660 раз(а) в 604 сообщениях
По умолчанию Ответ: Подключение по FTP

Цитата:
Сообщение от maxitronix Посмотреть сообщение
Что я делаю не так?... -_-
"Окей, гугл, что такое segmentation fault?"

"Окей, гугл, как избежать segmentation fault в ... ?" - вместо многоточия вашу проблемы в изолированном виде.

Это C++, этому языку много десятков лет. В нём в принципе нет неизвестных проблем.


__________________
Программа делает то что написал программист, а не то что он хотел.

Добро всегда побеждает зло. Кто победил - тот и добрый.
Arsie сейчас на форуме   Ответить с цитированием
Старый 16.04.2018, 14:17   #33
maxitronix
Member
 
Регистрация: Mar 2018
Сообщения: 34
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
По умолчанию Ответ: Подключение по FTP

Цитата:
Сообщение от Arsie Посмотреть сообщение
"Окей, гугл, что такое segmentation fault?"

"Окей, гугл, как избежать segmentation fault в ... ?" - вместо многоточия вашу проблемы в изолированном виде.

Это C++, этому языку много десятков лет. В нём в принципе нет неизвестных проблем.
Что такое segmentation fault я знаю. я в упор не вижу где у меня тут ошибка. послднее сообщение после завершения цикла не выводится. значит ошибка где то в цикле. НО ГДЕ?! весь цикл выводится в консоль, и в нем я ошибки не вижу..
maxitronix вне форума   Ответить с цитированием
Старый 16.04.2018, 14:28   #34
Arsie
Сотрудник Segnetics
 
Аватара для Arsie
 
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 086
Благодарил(а): 15 раз(а)
Поблагодарили: 660 раз(а) в 604 сообщениях
По умолчанию Ответ: Подключение по FTP

Цитата:
Сообщение от maxitronix Посмотреть сообщение
Что такое segmentation fault я знаю. я в упор не вижу где у меня тут ошибка. послднее сообщение после завершения цикла не выводится. значит ошибка где то в цикле. НО ГДЕ?! весь цикл выводится в консоль, и в нем я ошибки не вижу..
Думайте. Я специально не буду говорить, т.к. учатся только на своих ошибках. Да и тренировка гибкости мышления для программера на С++ - это крайне важно. Важнее всего, я бы сказал.

У вас все проблемы, что пока встречаются, не по зубам отладчикам. В отладчике вы бы увидели ровно то же самое, что и в консоли сейчас. Алгоритмическая проблема.


__________________
Программа делает то что написал программист, а не то что он хотел.

Добро всегда побеждает зло. Кто победил - тот и добрый.
Arsie сейчас на форуме   Ответить с цитированием
Старый 18.04.2018, 10:37   #35
maxitronix
Member
 
Регистрация: Mar 2018
Сообщения: 34
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
По умолчанию Ответ: Подключение по FTP

Цитата:
Сообщение от Arsie Посмотреть сообщение
Думайте. Я специально не буду говорить, т.к. учатся только на своих ошибках. Да и тренировка гибкости мышления для программера на С++ - это крайне важно. Важнее всего, я бы сказал.

У вас все проблемы, что пока встречаются, не по зубам отладчикам. В отладчике вы бы увидели ровно то же самое, что и в консоли сейчас. Алгоритмическая проблема.
Никак.
maxitronix вне форума   Ответить с цитированием
Старый 18.04.2018, 11:14   #36
Gromov
Уволен из Сегнетикс
 
Регистрация: Nov 2015
Адрес: CПб/ВЛГ
Сообщения: 0
Благодарил(а): 0 раз(а)
Поблагодарили: 1 раз в 1 сообщении
По умолчанию Ответ: Подключение по FTP

Рекомендую вам почитать учебники или какие-нибудь гайды, на тему отлаживания программы и борьбы с этими вот ошибками. Есть методики, как можно быстро найти, на каком участке кода возникает проблема. Всё это уже давно известно.

Бьёрн Страуструп создал этот язык аж в 1983 году, с тех пор люди много методик придумали. Указываю тут имя этого человека не спроста. Он написал очень годные учебники по этому делу.


__________________
В сегнетиксе не работаю с самого начала 2019 года.
Gromov вне форума   Ответить с цитированием
Ответ


Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать свои сообщения

BB code is Вкл.
[IMG] код Вкл.
HTML код Выкл.



Часовой пояс GMT +4, время: 19:39.


Версия vBulletin: 3.8.7
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Segnetics 2005 - 2024