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

считывание строки( библиотека string) - C++

Восстановить пароль Регистрация
 
 
Рейтинг: Рейтинг темы: голосов - 12, средняя оценка - 5.00
Layzie
0 / 0 / 0
Регистрация: 28.12.2013
Сообщений: 87
30.01.2014, 12:03     считывание строки( библиотека string) #1
задача в том чтоб считать сообщение с клавиатуры полностью(русские буквы пробелы знаки всякие). Пытался сделать с помощью string, не получилось, в переменную записывается все только до первого пробела. Вроде вопрос глупый но придумать не могу, есть какие идеи?
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ev[G]eN
Эксперт С++
 Аватар для Ev[G]eN
5093 / 1531 / 381
Регистрация: 23.01.2011
Сообщений: 3,148
30.01.2014, 12:04     считывание строки( библиотека string) #2
Цитата Сообщение от Layzie Посмотреть сообщение
записывается все только до первого пробела
ну если делаете через
C++
1
std::cin >> string;
то это нормально
правильно так:
C++
1
std::getline(std::cin, string);
Tulosba
:)
Эксперт С++
4378 / 3221 / 297
Регистрация: 19.02.2013
Сообщений: 9,044
30.01.2014, 12:05     считывание строки( библиотека string) #3
http://www.cplusplus.com/reference/s...tring/getline/
Esecman
38 / 26 / 6
Регистрация: 31.12.2013
Сообщений: 329
30.01.2014, 12:10     считывание строки( библиотека string) #4
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include <iostream>
 
using namespace std;
 
int main ()
{
  string name;
 
  cout << "Enter the string: ";
  getline (cin,name);
  cout << "length of string: " << name.size() << endl;
 
  cin.get();
}
P.S. >> Можно также воспользоваться name.length()
Ev[G]eN
Эксперт С++
 Аватар для Ev[G]eN
5093 / 1531 / 381
Регистрация: 23.01.2011
Сообщений: 3,148
30.01.2014, 12:11     считывание строки( библиотека string) #5
Esecman,
C++
1
#include <string>
не лишний будет
Esecman
38 / 26 / 6
Регистрация: 31.12.2013
Сообщений: 329
30.01.2014, 12:12     считывание строки( библиотека string) #6
Цитата Сообщение от Ev[G]eN Посмотреть сообщение
Esecman,
C++
1
#include <string>
не лишний будет
И без него компилироваться должно ;-)
Ev[G]eN
30.01.2014, 12:13
  #7

Не по теме:

спорить бесполезно

Esecman
38 / 26 / 6
Регистрация: 31.12.2013
Сообщений: 329
30.01.2014, 12:15     считывание строки( библиотека string) #8
Цитата Сообщение от Ev[G]eN Посмотреть сообщение

Не по теме:

спорить бесполезно

Так Вы мне докажите, что лишней не будет?

Ах, да. Забыл
Данный код работает на dev-C++
А на Visual -
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include "stdafx.h"
#include <iostream>
#include <string>
 
using namespace std;
 
int main ()
{
  string name;
 
  cout << "Enter the string: ";
  getline (cin,name);
  cout << "length of string: " << name.length() << endl;
 
  cin.get();
}
Ev[G]eN
Эксперт С++
 Аватар для Ev[G]eN
5093 / 1531 / 381
Регистрация: 23.01.2011
Сообщений: 3,148
30.01.2014, 12:17     считывание строки( библиотека string) #9
Esecman, в Dev на одном iostream'e можно все делать..он разрешает все..кстати, не удивлюсь, что и без него прекрасно будет работать
Esecman
38 / 26 / 6
Регистрация: 31.12.2013
Сообщений: 329
30.01.2014, 12:19     считывание строки( библиотека string) #10
Цитата Сообщение от Ev[G]eN Посмотреть сообщение
Esecman, в Dev на одном iostream'e можно все делать..он разрешает все..кстати, не удивлюсь, что и без него прекрасно будет работать
Использовал только cstdlib
Ответ: 7`string' undeclared (first use this function)
Tulosba
:)
Эксперт С++
4378 / 3221 / 297
Регистрация: 19.02.2013
Сообщений: 9,044
30.01.2014, 12:19     считывание строки( библиотека string) #11
Цитата Сообщение от Esecman Посмотреть сообщение
Так Вы мне докажите, что лишней не будет?
Доказательство в том, что строковый тип std::string описан в <string>, а то, что он включается косвенно через <iostream> зависит от компилятора. Если вы хотите чтобы код был независим от производителя компилятора старайтесь писать правильно, т.е. включать все необходимые заголовочные файлы.
aLarman
636 / 557 / 89
Регистрация: 13.12.2012
Сообщений: 2,109
30.01.2014, 13:03     считывание строки( библиотека string) #12
Цитата Сообщение от Layzie Посмотреть сообщение
задача в том чтоб считать сообщение с клавиатуры полностью(русские буквы пробелы знаки всякие).
а не wstring Вам надо использовать?
Layzie
0 / 0 / 0
Регистрация: 28.12.2013
Сообщений: 87
30.01.2014, 13:11  [ТС]     считывание строки( библиотека string) #13
C++
1
2
3
4
    
        string S;
    cout<<"vvedite text";
    getline(cin,S);
все было бы хорошо но после таких манипуляций, даже не считывается ничего.

Добавлено через 2 минуты
Цитата Сообщение от aLarman Посмотреть сообщение
а не wstring Вам надо использовать?
мне честно говоря без разницы что использовать
aLarman
636 / 557 / 89
Регистрация: 13.12.2012
Сообщений: 2,109
30.01.2014, 13:22     считывание строки( библиотека string) #14
просто в string хранится char а там нет русских букв
Tulosba
:)
Эксперт С++
4378 / 3221 / 297
Регистрация: 19.02.2013
Сообщений: 9,044
30.01.2014, 13:31     считывание строки( библиотека string) #15
Цитата Сообщение от aLarman Посмотреть сообщение
просто в string хранится char а там нет русских букв
не болтайте ерундой. Про кодовую таблицу слышали?
Layzie
0 / 0 / 0
Регистрация: 28.12.2013
Сообщений: 87
30.01.2014, 13:36  [ТС]     считывание строки( библиотека string) #16
Цитата Сообщение от aLarman Посмотреть сообщение
просто в string хранится char а там нет русских букв
возможно, но методом которым я делал в начале(проблема с пробелом) русские буквы считывались записывались в файл и считывались от туда без затруднений, а в данном случае мне даже не предлагают ничего вводить просто игнорит.
aLarman
636 / 557 / 89
Регистрация: 13.12.2012
Сообщений: 2,109
30.01.2014, 13:38     считывание строки( библиотека string) #17
Цитата Сообщение от Tulosba Посмотреть сообщение
не болтайте ерундой. Про кодовую таблицу слышали?
в ASCII есть русские буквы?
Layzie
0 / 0 / 0
Регистрация: 28.12.2013
Сообщений: 87
30.01.2014, 13:40  [ТС]     считывание строки( библиотека string) #18
Цитата Сообщение от aLarman Посмотреть сообщение
в ASCII есть русские буквы?
на сколько я помню ASCII имеет что то типа подразделов и русская раскладка там тоже присутствует
aLarman
30.01.2014, 13:43
  #19

Не по теме:

чёт всю жизнь думал что их там нет О_о лан учту

MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
30.01.2014, 14:02     считывание строки( библиотека string)
Еще ссылки по теме:

Библиотека string.h, функция strcat C++
C++ Считывание String посимвольно либо Char in Switch
C++ Считывание string из файла

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

Или воспользуйтесь поиском по форуму:
Layzie
0 / 0 / 0
Регистрация: 28.12.2013
Сообщений: 87
30.01.2014, 14:02  [ТС]     считывание строки( библиотека string) #20
мне никто не подскажет почему компилятор даже не ждет ввода после строк
C++
1
2
3
    string S;
    cout<<"vvedite text";
    getline(cin,S);
Yandex
Объявления
30.01.2014, 14:02     считывание строки( библиотека string)
Ответ Создать тему
Опции темы

Текущее время: 17:40. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru