Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
_Kit_
1 / 1 / 5
Регистрация: 21.09.2015
Сообщений: 51
#1

После чтения числа считывается пустая строка - C++

04.11.2016, 18:48. Просмотров 165. Ответов 2
Метки нет (Все метки)

Нужно считать ряд строк, что-то вроде такого вида:
аааа
бббб
сссс

и я попробовал реализовать это через fgets()

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include<iostream>
 
using namespace std;
 
main()
{
    int n, x=0;
    char s[3], c;
    
    cin >> n;
    for(int i=0;i<n;i++)
    {
        fgets(s, 3, stdin);
        cout << s;
    }
}
однако печалька, она считывает предыдущую строку, т.е. ту строку, где был введено число, и в результате в s запихивается символ перевода строки, как я понимаю. Попробовал считать отдельно этот символ сначала через cin, а затем применить fgets(), но опять неудача - cin не считывает этот символ, а переходит сразу на новую строку, в итоге я зашёл в тупик. Буду очень благодарен, если объясните, как всё-таки быть в этой ситуации.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
04.11.2016, 18:48
Я подобрал для вас темы с готовыми решениями и ответами на вопрос После чтения числа считывается пустая строка (C++):

Не считывается строка из файла
Есть динамический массив символов (поле класса). При считывании из файла выдаёт...

Не считывается строка из строки
недавно делал класс тут в соседней теме, сегодня случайно заметил ошибку, а уже...

Первая строка считывается пустой
Программа должна считать определенное количество имен студентов в массив строк...

Каким образом после чтения из файла, узнать позицию для чтения следующего куска байт
Здравствуйте, задача такова есть файл, размером 1000 байт, нужно открыть его...

Пустая строка
Делал задание по перегрузке функций. Перегружаю функцию sum. В одном из заданий...

Пустая строка в функции
Имеется такая функция: int setgolf (golf &amp; g) { std::cout &lt;&lt; &quot;Введите...

2
zss
Модератор
Эксперт С++
6953 / 6515 / 4136
Регистрация: 18.12.2011
Сообщений: 17,201
Завершенные тесты: 1
04.11.2016, 19:00 #2
См.
http://www.cyberforum.ru/cpp-beginners/thread1260162.html#post6641410
C++
1
2
3
4
5
(cin >> n).get();
for(int i=0;i<n;i++)
    {
        cin.getline(s, 3);
...
0
GbaLog-
Любитель чаепитий
3156 / 1462 / 462
Регистрация: 24.08.2014
Сообщений: 5,180
Записей в блоге: 1
Завершенные тесты: 2
04.11.2016, 19:02 #3
Цитата Сообщение от _Kit_ Посмотреть сообщение
Нужно считать ряд строк, что-то вроде такого вида:
аааа
бббб
сссс
Используйте getline().
http://en.cppreference.com/w/cpp/string/basic_string/getline
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
04.11.2016, 19:02
Привет! Вот еще темы с решениями:

Вводится пустая строка
Здравствуйте, при выполнении моего кода выходит исключение от функции substr...

Читается пустая строка
Имеется код, при его компилировании программа игнорирует взятие строки у...

Проверить, пустая ли строка. (fstream)
Добрый вечер, ув. форумчане. Допустим есть пример: void main() { ...

Проверка, пустая строка или нет
Здравствуйте, подскажите как реализовать проверку на пустую строку?? #include...


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

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

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