Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 11.01.2017, 03:50   #1
aven1q
 
Регистрация: 06.07.2016
Сообщений: 3
По умолчанию Выводятся крякозябры в консоли - Visual C++

Подскажите, добрые люди, не могу сам понять в чем проблема?

Снимок.PNG

Код:
class String {

private:
  char* _string;
  short _length;

public:
  
  String() {
    /*_length = 1;
    _string = new char[_length];
    _string[_length - 1] = '\0';*/
  }
  

  String(const char *s) {
    /*_length = strlen(s) + 1;
    
    cout << _length<<endl;
    _string = new char[_length];
    _string[_length - 1] = '\0';
    
    for (int i(0); i < (_length - 1); i++) {
      _string[i] = s[i];
    }
    _string[_length - 1] = NULL;*/
      
    //cout << "133"<<endl;

    _length = strlen(s) + 1;

    _string = (char*)malloc(_length);
    strcpy_s(_string, _length,s);

    //cout << _string<<endl;
  }

  
  String(const String &s) {
    cout << "String"<<endl;
    /*_length = s._length;
    _string = new char[_length];

    for (int i(0); i < (_length - 1); i++) {
      _string[i] = s._string[i];
    }
    if (_string[_length - 1] != '\0') { _string[_length - 1] = '\0'; }*/
  }
  

  ~String()
  {
    free(_string);
  }

  String& operator = (const String &s) {
    
    //if (this == &s) {
    //	return *this;
    //}
    //cout << "asdf";
    _length = s._length;
    _string = s._string;

    return *this;
  }

  int length() {
    return _length;
  }

  bool empty() {		
    return _string[0] == '\0';
  }

  friend ostream& operator <<(ostream & os, const String& s) {
    cout<< s._string<<endl;
    os << s._string;
    return os;
  }
};

int main() {

  SetConsoleCP(1251);
  SetConsoleOutputCP(1251);

  

  // Class String
  String  s;

  s = "mama myla ramy!";

  cout << s;

  cout << s.length() << endl;


  system("pause");

  //s = "";

  cout << s.length() << endl;

  if (s.empty())
  {
    cout << "Empty" << endl;
  }

  

  _getch();
  return 0;
}
aven1q вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Крякозябры вместо кириллицы. PHP Luca Brasi PHP 6 18.02.2015 20:17
Изменение кодировки в консоли. MS Visual Studio MooNDeaR Общие вопросы C/C++ 13 16.04.2012 13:34
ошибки компиляции консоли с++ и zlib 1.1.3, visual studio 2010 ohos Общие вопросы C/C++ 1 21.01.2012 17:07
крякозябры. Pein95 C# (си шарп) 11 12.09.2011 01:19
Крякозябры в Excel 2007 amigo Microsoft Office Excel 4 13.12.2008 15:17