Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

Проблемы с stringObj.append(stringObj.at(i) и stringObj.append(classObj[i].charObj) - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Сформировать массив по условию http://www.cyberforum.ru/cpp-beginners/thread795939.html
Заданы два вещественных массива Х=(х1, х2, …, хn) и Y=(y1, y2, …, ym). Сформировать массив Z, в который включить из массива Х элементы, превышающие среднее арифметическое значение массива Y, а из...
C++ Как заставить свой объект стрелять? Здравствуйте... Пытаюсь написать игру типа Космической дуэли... Застопарился на стрельбе... Точнее как заставить свой объект стрелять... Подскажите как можно организовать данный процесс. Или где... http://www.cyberforum.ru/cpp-beginners/thread795937.html
Функция, которая возвращает цвет пикселя в точке с координатами х, у C++
Доброго времени суток. Уважаемые программисты, подскажите пожалуйста, есть ли в Visual Studio С++ 10 функция, которая бы возвращала цвет пикселя картинки в точке с координатами (х, у)? Так как я...
Написать сумму ряда С++ C++
Новичок еще, пытаюсь самостоятельно выучить язык, пока не очень получается.
C++ Три сопротивления R1, R2, R3 соединены параллельно. Найти сопротивление соединения http://www.cyberforum.ru/cpp-beginners/thread795884.html
Добрый вечер, ув. программисты! Очень нужна Ваша помощь. Моему сыну в колледже по программированию задали на завтра написать две программы (отдельно). Сам я в программировании "дундук" (ну не мое...
C++ Ошибка в классе #include "Eliptic_arc.h" void Eliptic_arc::set_val(char name, int val) { } int Eliptic_arc::get_val(char name) { } подробнее

Показать сообщение отдельно
Kortez
0 / 0 / 0
Регистрация: 27.02.2013
Сообщений: 10
27.02.2013, 03:27  [ТС]
Компилятор: g++ (Ubuntu/Linaro 4.6.3-1ubuntu5) 4.6.3
KUbuntu 12.04 под VirtualBox
Предположение:
Кликните здесь для просмотра всего текста
Если судить по выводу информации о заполнении строки temp и соотнесении со строкой, которая декодируется, можно сделать вывод, что проблема возникает в момент записи символа в районе 19 строки из кода в первом посте.


Сейчас пробовал менять at(i) на []. Результат получился очень интересный. Моё предположение оказалось ложным.

Результат:
Метод работает
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
string fano::dekodirovanie()
{
    string temp;
    bool find = false;
    int findId = -1;
    for(int i = 0; i < kodStr.length(); i++)
    {
    temp.append(1, kodStr.at(i));               //ПРОБЛЕМА!!!
    cout << temp[i] << '\t' << temp.max_size() << '\t' << temp.capacity() << '\n';
    for(int j = 0; j < top; j++)
    {
//      cout << kodStr.at(i) << '\n';
        if(temp.compare(slovarFano[j].kod) == 0) 
        { find = true; findId = j; break; }
    }
    if(find) 
    {
        dekStr.append(1, slovarFano[findId].symbol);    //ПРОБЛЕМА!!!
        temp.clear();
        find = false; findId = -1;
    }
    //cout << dekStr.at(i) << '\t' << dekStr.max_size() << '\t' << dekStr.capacity() << '\n';
    }
    
    return dekStr;
}
При выполнении вылетает с той же ошибкой
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
string fano::dekodirovanie()
{
    string temp;
    bool find = false;
    int findId = -1;
    for(int i = 0; i < kodStr.length(); i++)
    {
    temp.append(1, kodStr.at(i));               //ПРОБЛЕМА!!!
    cout << temp.at(i) << '\t' << temp.max_size() << '\t' << temp.capacity() << '\n';     //проблема в этой строке
    for(int j = 0; j < top; j++)
    {
//      cout << kodStr.at(i) << '\n';
        if(temp.compare(slovarFano[j].kod) == 0) 
        { find = true; findId = j; break; }
    }
    if(find) 
    {
        dekStr.append(1, slovarFano[findId].symbol);    //ПРОБЛЕМА!!!
        temp.clear();
        find = false; findId = -1;
    }
    //cout << dekStr.at(i) << '\t' << dekStr.max_size() << '\t' << dekStr.capacity() << '\n';
    }
    
    return dekStr;
}
Спасибо за помощь! =)
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru