С Новым годом! Форум программистов, компьютерный форум, киберфорум
Наши страницы

getline и превышение второго параметра... - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Опрос сетевых ресурсов C++ http://www.cyberforum.ru/cpp-beginners/thread31494.html
Зачем в функции WNetOpenEnum три раза указывать на тип включаемых в перечисление ресурсов???(в первых трех аргументах) Впрочем если можете - посоветуйте пожалуйста туториал хороший по API-функциям,...
C++ Запись массива в файл и его чтение Помогите, пожалуйста: надо записать в файл массив из, например, 10 элементов, вычисляющихся как f=f+1, например. Затем считать полученные значения из файла, и записать их в другой файл, умножив... http://www.cyberforum.ru/cpp-beginners/thread31492.html
C++ поменять элементы каждого числа массива слева направо
нужно изменить эту задачу-"поменять элементы массива слева направо": #include <iostream> #include <algorithm> #include <vector> using namespace std; typedef vector<int> vec; int colvo () {
C++ Работа с текстовыми файлами
Пожалуйста, помогите с задачей: Дан файл f, компоненты которого являются действительными числами. Найти: 1.наибольшее из значений компонент f; 2.наименьшее из значений компонент с четными...
C++ Задача:Страуструп. 4.11.4 http://www.cyberforum.ru/cpp-beginners/thread31446.html
1.Напишите программу,которая печатает символы от 'a' до 'z' и цифры от '0' до '9' и их целые значения. 2.Проделайте то же самое для других печатаемых символов. 3.Проделайте то же самое,но...
C++ Определение k, при котором функция становится меньше заданного числа Текст задачи: ' Составить программу для определения k, при котором функция (x^k / k) становится меньше заданного числа A при заданном x для k=1, 2, 3, ... Контрольный пример: x=1, A=0.25.... подробнее

Показать сообщение отдельно
kazak
3050 / 2371 / 160
Регистрация: 11.03.2009
Сообщений: 5,437
Завершенные тесты: 1
26.04.2009, 05:14
Цитата Сообщение от VorobeY1326 Посмотреть сообщение
Вводишь 12345, в массиве s1="1234"
потому как футкция cin.getline(*string, sizeOfString) считывает sizeOfString - 1 символов в *string и в конец *string добавляет символ конца строки('\0') в итоге массив s1 будет содержать следующие значения :'1', '2', '3', '4', '\0'(всего 5 как видишь).


Цитата Сообщение от VorobeY1326 Посмотреть сообщение
а все следующие cin.get() возвращают 'я' !
Причем если заменяешь цикл на еще несколько cin.getline, то все они работают вхолостую!
Ничего не понимаю...((
Еще один момент в работе футкций getline и get, если было введено больше символов, чем sizeOfString - 1, то лишние символы отбрасываются и устанавливается бит состояния failbit в 1, при котором дальнейшее использование функций getline и get невозможна. Чтобы все нормально работало, нужно после использования getlin и get делать проверку бита состояния(функций cin.fail()), и в случе ошибки делать востановление потока ввода-вывода функцией cin.clear().
2
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.