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

Откуда берутся лишние элементы? - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Написать программу, которая вычерчивает на экране кораблик c++ http://www.cyberforum.ru/cpp-beginners/thread1211701.html
Написать программу, которая вычерчивает на экране кораблик c++
C++ Пользовательский operator new(size_t) Всем привет! Подскажите пожалуйста, как так получается, что при перегрузке operator new (например, в пользовательском классе) дальнейший его вызов обходится без параметра size_t. Например код: class Temp { public: static void* operator new(size_t, new_handler); ... }; void func () {...} http://www.cyberforum.ru/cpp-beginners/thread1211682.html
в 2010 не работает :( C++
Ребят, подскажите пожалуйста. В 2013 вижуал работает, а в 2010 нет.:( // ConsoleApplication1.cpp: определяет точку входа для консольного приложения. // #include "stdafx.h" #include <iostream> using namespace std;
C++ Аналог ls (вывод списка папок и файлов в заданной директории)
как сделать, чтобы программа выводила список папок и файлов в заданной директории?
C++ Borland c++ ! http://www.cyberforum.ru/cpp-beginners/thread1211652.html
Кто поможет везде 1-й вариант решить Задание и тексты необходимо переписывать!!!
C++ Генерация случайных чисел Вопрос такой: возможно ли при помощи функции random, устроить случайную генерацию одного из двух чисел? Например мне нужны числа 2 и 4. подробнее

Показать сообщение отдельно
Ladari
1 / 1 / 0
Регистрация: 09.05.2013
Сообщений: 16
18.06.2014, 22:15  [ТС]     Откуда берутся лишние элементы?
Мне было бы гораздо проще написать бы все через тип String и конкатанацию, но вот в универе требуют через char*.
Когда я не дописываю "\0" мне добавляет море кракозябликов разных.

У меня возникла последняя бага.

Перегрузку оператора + сделала, а с минусом у меня откуда-то берется равно. Причем ставится на 2 место и выводится до начала слова.

Слева у меня передается объект, а справа символ. Если символ равен "#", то мне надо вычесть его из свойства объекта типа char*.

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
27
28
29
30
String String::operator - (char right){
    int countSymbol = 0;
    
    if(right == '#'){
             /* считаем количество символов # для определения длины новой строки без # */
 
        for(int i = 0; i < this->Length(); i++){
            if(this->myString[i]== '#'){
                countSymbol++;
            }
        }
        int newLen = this->Length() - countSymbol;
 
                /* выделяем память для новой строки без # */
        char *temp2= new char[newLen+1];
        temp2[newLen+1] = '\0';
 
        for(int i = 0; i < this->Length(); i++){
            if(this->myString[i] != '#'){   
                cout << temp2[i];
                temp2[i] = this->myString[i];
                
            }
        }
        
        String newStr(temp2); 
        return newStr;
    } else {
        return *this;
    }
Сейчас скину консольку.
Миниатюры
Откуда берутся лишние элементы?  
 
Текущее время: 10:56. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru