Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/3: Рейтинг темы: голосов - 3, средняя оценка - 4.67
-2 / 8 / 2
Регистрация: 10.11.2008
Сообщений: 776
1

Потоки вводы и вывода

11.05.2016, 10:31. Показов 528. Ответов 15
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Не обрезает пробелы

C++
1
2
3
4
string str;
    cin.setf(ios::skipws);
    cin >> str;
    cout << str;
И можно как-нибудь с помощью флагов удалять лишние пробелы?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
11.05.2016, 10:31
Ответы с готовыми решениями:

Проблемы с перегрузкой операторов файлового вводы/вывода
#include &quot;stdafx.h&quot; #include &lt;iostream&gt; #include &lt;fstream&gt; #include &lt;string&gt; using namespace...

Что такое потоки ввода, потоки вывода?
Здарова всем! Не так давно уже прогаю на С++ и все НИКАК не могу понять, что такое потоки ввода,...

Потоки вывода
Даже не знаю как правильно сформулировать, но хотел сделать примерно следующее и вошел в ступор. ...

потоки вывода
доброго времени суток, Уважаемые форумчане! есть проблема, суть проблемы заключается в следующем:...

15
7793 / 6560 / 2984
Регистрация: 14.04.2014
Сообщений: 28,672
11.05.2016, 10:51 2
Пробелы не будут учитываться. Строка 2 не нужна.
0
Заблокирован
11.05.2016, 10:51 3
Цитата Сообщение от Knjagskij Посмотреть сообщение
И можно как-нибудь с помощью флагов удалять лишние пробелы?
Удалять - нет. Можно считывать по словам, а пробел - в качестве разделителя.
0
-2 / 8 / 2
Регистрация: 10.11.2008
Сообщений: 776
11.05.2016, 10:58  [ТС] 4
Я должен ввести предложение и получить набор слов без пробелов, а выводится только первое слово
0
7793 / 6560 / 2984
Регистрация: 14.04.2014
Сообщений: 28,672
11.05.2016, 11:01 5
Значит, циклом считывай.
0
Модератор
Эксперт С++
13507 / 10757 / 6412
Регистрация: 18.12.2011
Сообщений: 28,713
11.05.2016, 11:04 6
C++
1
2
3
4
5
6
7
8
9
10
#include <sstream>
...
string str;
getline(cin,str);
istringstream ss(str);
string word;
while(ss>>word)
{
    cout<<word; // напечатаются слова без пробелов
}
0
-2 / 8 / 2
Регистрация: 10.11.2008
Сообщений: 776
11.05.2016, 11:11  [ТС] 7
А какой смысл тогда в этом флаге? Я делаю это не ради задачи, а ради эксперимента с манипуляторами и флагами

Добавлено через 53 секунды
И что такое заполнитель, что он заполняет?

C++
1
2
3
string str = " kk ko  ok ok ";
   cout.fill('*');
   cout << str;
В приведенном коде пробелы не меняются на звездочки
0
7793 / 6560 / 2984
Регистрация: 14.04.2014
Сообщений: 28,672
11.05.2016, 11:22 8
Когда выводишь с указанием ширина поля - setw() - заполнитель будет использоваться для пустых позиций.
0
-2 / 8 / 2
Регистрация: 10.11.2008
Сообщений: 776
11.05.2016, 11:24  [ТС] 9
Что значит пустые позиции? Пробел же это не пустая?

Добавлено через 27 секунд
И чем отличается << от .put?
0
7793 / 6560 / 2984
Регистрация: 14.04.2014
Сообщений: 28,672
11.05.2016, 11:30 10
Когда skipws установлен (по умолчанию) вот эта конструкция будет игнорировать пробелы:
C++
1
2
    char ch;
    cin >> ch;
А когда сброшен, будет считывать и пробелы:
C++
1
2
3
    char ch;
    cin.unsetf(cin.skipws);
    cin >> ch;
Добавлено через 2 минуты
Цитата Сообщение от Knjagskij Посмотреть сообщение
Что значит пустые позиции? Пробел же это не пустая?
C++
1
cout << setw(5) << setfill('*') << 8;
Выведет: "****8". Под число одна позиция из 5, остальное заполнится.
0
-2 / 8 / 2
Регистрация: 10.11.2008
Сообщений: 776
11.05.2016, 11:46  [ТС] 11
C++
1
2
3
4
   string str;
   cin.unsetf(cin.skipws);
   cin >> str;
   cout << str;
Не работает, что есть флаг, что его нет

Добавлено через 2 минуты
setw() вообще не виден
0
7793 / 6560 / 2984
Регистрация: 14.04.2014
Сообщений: 28,672
11.05.2016, 11:50 12
На тип посмотри. Это для единичного char работает.
Для setw() надо <iomanip>.
0
-2 / 8 / 2
Регистрация: 10.11.2008
Сообщений: 776
11.05.2016, 13:54  [ТС] 13
Тогда же сам смысл операции теряется, ведь наличие пробелов уже означает, что символ не один
0
7793 / 6560 / 2984
Регистрация: 14.04.2014
Сообщений: 28,672
11.05.2016, 16:31 14
Пробел либо считается разделителем, либо нет. Какая разница, сколько их?
0
-2 / 8 / 2
Регистрация: 10.11.2008
Сообщений: 776
12.05.2016, 14:07  [ТС] 15
Имею ввиду, что в одиноком char мы не можем хранить более одного символа, а значит и пробел, или я не правильно понял мысль?
0
7793 / 6560 / 2984
Регистрация: 14.04.2014
Сообщений: 28,672
12.05.2016, 15:43 16
Ну да, один, что такого?
0
12.05.2016, 15:43
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
12.05.2016, 15:43
Помогаю со студенческими работами здесь

Потоки ввода-вывода
1) Типы данных, для которых перегружены операторы форматного ввода-вывода.

Потоки ввода-вывода в С++
Ребят, нужна помощь В программирование я новичок, но сдать нужно 1. Написать программу,...

Потоки ввода/вывода
Здравствуйте! Расскажите мне пожалуйста подробнее о всех особенностях потоков ввода/вывода; в...

Потоки ввода вывода
Почему с помощью классов ostream и istream нельзя создавать свои потоки ввода вывода? std::ostream...

Используя потоки ввода/вывода в С++
Здравствуйте помогите организовать запись информации из массива объектов в класс, чтение данной...

Вопрос про потоки вывода
Здравствуйте, подскажите в чём кординальная разница между использованием cerr и cout?!?!


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

Или воспользуйтесь поиском по форуму:
16
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru