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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
aven1q
0 / 0 / 0
Регистрация: 06.07.2016
Сообщений: 2
#1

Выводятся крякозябры в консоли - C++

11.01.2017, 03:48. Просмотров 169. Ответов 1

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

Выводятся крякозябры в консоли

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
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
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;
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
11.01.2017, 03:48
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Выводятся крякозябры в консоли (C++):

В консоли вместо русского языка выводятся вопросительные знаки - C++
Столкнулся с такой проблемой. В консоли вместо русского языка выводятся вопросительные знаки (???? ?? ??). setlocale(LC_ALL,...

Русские символы в консоли выводятся нормально, латиница - нет - C++
Добрый день. Подскажите пожалуйста, столкнулся с следующей проблемой, когда вывожу в консоль русские символы все выводится нормально,...

Часть чисел записывается с совсем противоположным знаком, чем они выводятся в консоли - C++
Есть следующий код: #include &lt;iostream&gt; #include &lt;math.h&gt; #include &lt;fstream&gt; using namespace std; void filter(double x,double...

Крякозябры в конце вывода :( - C++
Как от них избавиться, вот мой код: #include &lt;stdio.h&gt; //==================================== // Name: getstring // Desc: по...

Крякозябры при заполнении структуры - C++
while (true) { cout &lt;&lt; &quot;Меню: &quot; &lt;&lt; endl &lt;&lt; &quot;1. Вывести данные&quot; &lt;&lt; endl &lt;&lt; &quot;2. Добавить данные&quot; &lt;&lt; endl &lt;&lt; &quot;3. Упорядочить данные&quot; &lt;&lt;...

Чем сконвертировать в русский язык такие крякозябры? - C++
Чем сконвертировать в русский язык такие крякозябры? OemToChar не подходит. Я мог бы разные способы перебрать, но кроме OemToChar и...

1
DrOffset
7316 / 4416 / 1000
Регистрация: 30.01.2014
Сообщений: 7,253
11.01.2017, 20:26 #2
aven1q,
Кликните здесь для просмотра всего текста

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
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
class String {
 
private:
  short _length;
  char* _string;
 
  void swap(String & other)
  {
      std::swap(_length, other._length);
      std::swap(_string, other._string);
  }
    
public:
  
  String() 
      : _length(1)
      , _string(new char[_length]())
  { }
  
 
  String(const char * s)
      : _length(strlen(s) + 1)
      , _string(new char[_length])    
  {
    strcpy_s(_string, _length, s);
  }
 
  
  String(const String & s)
      : _length(s._length)
      , _string(new char[_length])
  {
    strcpy_s(_string, _length, s._string);
  }
  
 
  ~String()
  {
    delete[] _string;
  }
 
  String& operator = (const String &s) 
  {
    if (this != &s) {
        String(s).swap(*this);
    }
    return *this;
  }
 
  int length() const
  {
    return _length - 1;
  }
 
  bool empty() const
  {        
    return _string[0] == '\0';
  }
 
  friend std::ostream& operator <<(std::ostream & os, const String& s) 
  {
    os << s._string;
    return os;
  }
};
1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
11.01.2017, 20:26
Привет! Вот еще темы с ответами:

Крякозябры в выводе ошибок компилятора Visual Studio 15 - C++
Раньше все было нормально именно в этой версии Студии, но не понятно после чего стало выдавать некоторые ошибки нормально, а некоторые вот...

При записи символов массива в txt в последнем отображаются крякозябры - C++
Разбирал пример как передать из массива в документ txt. Так вот вместо цифр выводятся непонятные кракозябры. Подскажите, как исправить... ...

Клавиши F1-F12 в консоли, и работа с мышкой в консоли - C++
Я искал на сайте, но не нашел упоминания о том как обрабатывать и или узнавать где находится курсор мышки (и еще мне надо бы узнать нажатие...

считывание с консоли ( не с клавы, а именно с консоли) - C++
нужно написать функцию которая возвращает string в котором написано 500 символов которые были выведены в консоли от начала. среда :...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru