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

Cin.getline() не работает при динамическом выделении памяти - C++

Восстановить пароль Регистрация
 
proont
1 / 1 / 1
Регистрация: 15.11.2014
Сообщений: 79
10.07.2015, 22:24     Cin.getline() не работает при динамическом выделении памяти #1
Почему в таком коде cin.getline() работает не так как надо? Если очистить поток, то будет все нормально.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <iostream>
using namespace std;
 
int main()
{
    
    int N;
    cin >> N;
 
    char *a = new char[N];
 
    cin.getline(a, N);
 
    system("pause");
    return 0;
}
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
10.07.2015, 22:24     Cin.getline() не работает при динамическом выделении памяти
Посмотрите здесь:

C++ Вопрос о динамическом выделении памяти для строки
C++ Вопрос о динамическом выделении памяти
Немного о динамическом выделении памяти ... C++
C++ Ошибка на динамическом выделении памяти
C++ Ошибка при динамическом выделении памяти
Выравнивание при динамическом выделении памяти под массив C++
C++ Использование конструктора базового класса при динамическом выделении памяти
Создание исключения при динамическом выделении памяти C++
Не работает cin.getline при считывании строки большей буфера C++
Не работает cin.getline(buf, 20); C++
Не работает. cin.getline(string,200); C++
Ошибка при динамическом выделении памяти C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ev[G]eN
Эксперт С++
 Аватар для Ev[G]eN
5093 / 1531 / 381
Регистрация: 23.01.2011
Сообщений: 3,148
10.07.2015, 23:05     Cin.getline() не работает при динамическом выделении памяти #2
Сообщение было отмечено автором темы, экспертом или модератором как ответ
proont, потому что в нем сидит символ обрыва строки после ввода числа N, если я правильно понял вопрос
proont
1 / 1 / 1
Регистрация: 15.11.2014
Сообщений: 79
10.07.2015, 23:13  [ТС]     Cin.getline() не работает при динамическом выделении памяти #3
Ev[G]eN, а почему он там сидит?
Посмотрите еще этот пост по этому вопросу Будет ли добавлен символ новой строки при ошибочном вводе?
Ev[G]eN
Эксперт С++
 Аватар для Ev[G]eN
5093 / 1531 / 381
Регистрация: 23.01.2011
Сообщений: 3,148
10.07.2015, 23:18     Cin.getline() не работает при динамическом выделении памяти #4
Цитата Сообщение от proont Посмотреть сообщение
а почему он там сидит?
а кто его знает почему он там сидит, нравится ему там, видимо...Вы же когда число ввели нажимаете Enter? ну вот вам и пожалуйста, вам число поток отдает, а все остальное остается в нем
Yandex
Объявления
10.07.2015, 23:18     Cin.getline() не работает при динамическом выделении памяти
Ответ Создать тему
Опции темы

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