Модераторы: Daevaorn
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Как сделать cin>>string, но с пробелами? Нужно прочитать предловение 
:(
    Опции темы
BuBu
Дата 15.2.2004, 20:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 10
Регистрация: 6.11.2003

Репутация: нет
Всего: нет



Здавствуйте! У меня тут проблема, с считыванием с потока символьной строки. Известно, что cin не читает пробелов, и по сему советуется использовать get() или getline(). Второе мне не подходит, поскольку у меня строка произвольной длины, но разделитель известен. С scanf тоже возникают некоторые проблемы. Я сам после некоторого времени решил ету задачу так:
#include<string>
#include<iostream>
using namespace std;

int main()
{
char x;
string a;
bool c = true;

while©
{
cin.get(x);
if(x != '\n')
a = a + x;
else
c = false;
}
// получаю то что нужно в а;

return 0;
}

А есть более "красивое" решение? Зарание большое спасибо.
P.S. Не знаю почему но с "copy" тоже не получилосьsmile.gif
PM MAIL   Вверх
Unregistered
Дата 15.2.2004, 21:23 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











каков должен быть результат?
  Вверх
BuBu
Дата 16.2.2004, 14:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 10
Регистрация: 6.11.2003

Репутация: нет
Всего: нет



Например если набираем "Hello world", и каким то образом сохраняем ето в нашем string a, то после cout<<a<<endl; должно получиться на консоле следующее:
Hello world
Hello world
Press any key to continue...
Попытался выразиться как можно яснееsmile.gif

PM MAIL   Вверх
BuBu
Дата 16.2.2004, 17:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 10
Регистрация: 6.11.2003

Репутация: нет
Всего: нет



Снова всем приветsmile.gif Я тут еще одно решение нашел, немножко "покрасивее", но жаль что из ввода надо выйти с двумя Enter-ами. Не смотря не на что представляю вам его, может заинтересует, хотя изначальный вопрос все таки остается открытым. Жду новых идей...
#include<iostream>
#include<string>
using namespace std;

int main()
{
cout << "Please enter a line:\n";
string s;
getline(cin,s);
cout << "You entered " << s << '\n';
return 0;
}
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++:Общие вопросы"
Earnest Daevaorn

Добро пожаловать!

  • Черновик стандарта C++ (за октябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика(4.4мб).
  • Черновик стандарта C (за сентябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика (3.4мб).
  • Прежде чем задать вопрос, прочтите это и/или это!
  • Здесь хранится весь мировой запас ссылок на документы, связанные с C++ :)
  • Не брезгуйте пользоваться тегами [code=cpp][/code].
  • Пожалуйста, не просите написать за вас программы в этом разделе - для этого существует "Центр Помощи".
  • C++ FAQ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0391 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.