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

Ввод строки в буфер - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Алгоритм нейронные сети http://www.cyberforum.ru/cpp-beginners/thread1216798.html
Ребят нужен алгоритм для такого задания может у кого есть примерное киньте пожалуйста: Тема: Однослойная нейронная сеть. Алгоритм: оригинальное дельта-правило. Задачи: 1. Найти или сформировать самостоятельно обучающую выборку для решения задачи классификации; Количество классов: 3 и более. Классы должны быть линейно разделимы. 2. Определить архитектуру НС 3. В любой среде...
C++ Массив строк. Конец строки и конец массива \n - перевод на новую строку \0 - конец строки Если у меня массив строк (текст), чем заканчивается каждая строка, и как закончится массив? Или это зависит от того как считываю? http://www.cyberforum.ru/cpp-beginners/thread1216763.html
C++ Acm.timus Runtime error (access violation)
Ограничение времени: 0.5 секунды Ограничение памяти: 64 МБ Наш джип находится в пустыне и должен достичь точки, находящейся на расстоянии N километров от него. Рельеф сложный, машина старая, и похоже, что топливо вытекает, так что на каждый пройденный машиной километр тратится один литр топлива. В джипе есть канистры, общая ёмкость которых вместе с бензобаком составляет M литров (M < N). В...
Хочу передать в функцию несколько разнотипных массивов. Можно так делать? C++
Хочу передать в функцию несколько разнотипных массивов. Можно так делать? Надо в функцию чар. передать несколько разных аргументов. char Func1(char Arr1, int Arr2, int X, int Y); / /определил функц. int main(){ ---- char Arr1; int Arr2 ; int x, y;
C++ Дополнить матрицу столбцом, содержащим максимумы по строкам http://www.cyberforum.ru/cpp-beginners/thread1216683.html
Необходимо дополнить матрицу столбцом, содержащим максимумы по строкам на яз С++. Заранее благодарю.
C++ Тест на знания Нужно написать программу-тестер, в которой должно быть четыре варианта ответа и только один правильный. Понимаю, что тема заезженная, но нет времени искать самому, да к тому же ещё не разобрался с сайтом. Если кто может - помогите, пожалуйста. подробнее

Показать сообщение отдельно
FraidZZ
Ex-Member
3897 / 1523 / 229
Регистрация: 06.01.2013
Сообщений: 4,050
Завершенные тесты: 1
26.06.2014, 23:41     Ввод строки в буфер
Угу, сначал очищаем буфер:
C++
1
cin.ignore(cin.rdbuf()->in_avail());
Затем нам необходимо запросить ввод строки у пользователя, для этого

C++
1
2
char a;
cin.get(a);
Теперь у нас в потоке введенная пользователем строка кроме первого символа. Выделяем буфер:

C++
1
2
int c = cin.rdbuf()->in_avail();
char *buf = new char[ c + 2 ]; //+ 2 для уже считанного символа плюс завершающий.
И считываем:

C++
1
cin.read(buf + 1, c);
Не забываем добавить '\0' (без понятия, добавляет ли его cin.read())

C++
1
buf[ c + 1 ] = '\0';
.

Все вместе:
C++
1
2
3
4
5
6
7
8
char a, *buf;
int c;
cin.ignore(cin.rdbuf()->in_avail());
cin.get(a);
c = cin.rdbuf()->in_avail();
buf = new char[ c + 2 ];
cin.read(buf + 1, c);
buf[ c + 1 ] = '\0';
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru