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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 12, средняя оценка - 5.00
Layzie
0 / 0 / 0
Регистрация: 28.12.2013
Сообщений: 89
#1

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

30.01.2014, 12:03. Просмотров 2267. Ответов 22
Метки нет (Все метки)

задача в том чтоб считать сообщение с клавиатуры полностью(русские буквы пробелы знаки всякие). Пытался сделать с помощью string, не получилось, в переменную записывается все только до первого пробела. Вроде вопрос глупый но придумать не могу, есть какие идеи?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
30.01.2014, 12:03     считывание строки( библиотека string)
Посмотрите здесь:

Строки библиотека string.h - C++
Дана строка символов, состоящая из букв и цифр. Найти количество букв в данной строке. Использовать функции библиотеки string.h

Считывание строки из бинарного файла в string - C++
Привет всем!! Помогите новичку понять почему происходит ошибка при считывании строки из файла. void LoadFile() { string j; ...

Библиотека String - C++
Чем плох String? Когда его не стоит использовать?

Библиотека Обработки строк string.h - C++
Задание таково: Разработайте программу работы со строками. Организуйте ввод исходных данных с клавиатуры. Используйте функции из библиотеки...

Библиотека string.h, функция strcat - C++
Написал вот такое, но в программе все равно текст не выводит. Должно работать точно также, как и обычная библиотека strcat. char *...

Считывание string из файла - C++
Есть текстовый файл. Первая строчка, в которой находится название не получается считать в string. Идущие за ним цифры считываются...

Библиотека для удобной работы с типом string с++ - C++
Привет, надо проводить много манипуляций со строками - обрезка, перенос строки, выравнивание - для интерфейса 3D-игры. Есть ли готовая...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ev[G]eN
Эксперт С++
5096 / 1534 / 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
:)
Эксперт С++
4392 / 3235 / 297
Регистрация: 19.02.2013
Сообщений: 9,045
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
Эксперт С++
5096 / 1534 / 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
Эксперт С++
5096 / 1534 / 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
:)
Эксперт С++
4392 / 3235 / 297
Регистрация: 19.02.2013
Сообщений: 9,045
30.01.2014, 12:19     считывание строки( библиотека string) #11
Цитата Сообщение от Esecman Посмотреть сообщение
Так Вы мне докажите, что лишней не будет?
Доказательство в том, что строковый тип std::string описан в <string>, а то, что он включается косвенно через <iostream> зависит от компилятора. Если вы хотите чтобы код был независим от производителя компилятора старайтесь писать правильно, т.е. включать все необходимые заголовочные файлы.
aLarman
641 / 562 / 89
Регистрация: 13.12.2012
Сообщений: 2,109
30.01.2014, 13:03     считывание строки( библиотека string) #12
Цитата Сообщение от Layzie Посмотреть сообщение
задача в том чтоб считать сообщение с клавиатуры полностью(русские буквы пробелы знаки всякие).
а не wstring Вам надо использовать?
Layzie
0 / 0 / 0
Регистрация: 28.12.2013
Сообщений: 89
30.01.2014, 13:11  [ТС]     считывание строки( библиотека string) #13
C++
1
2
3
4
    
        string S;
    cout<<"vvedite text";
    getline(cin,S);
все было бы хорошо но после таких манипуляций, даже не считывается ничего.

Добавлено через 2 минуты
Цитата Сообщение от aLarman Посмотреть сообщение
а не wstring Вам надо использовать?
мне честно говоря без разницы что использовать
aLarman
641 / 562 / 89
Регистрация: 13.12.2012
Сообщений: 2,109
30.01.2014, 13:22     считывание строки( библиотека string) #14
просто в string хранится char а там нет русских букв
Tulosba
:)
Эксперт С++
4392 / 3235 / 297
Регистрация: 19.02.2013
Сообщений: 9,045
30.01.2014, 13:31     считывание строки( библиотека string) #15
Цитата Сообщение от aLarman Посмотреть сообщение
просто в string хранится char а там нет русских букв
не болтайте ерундой. Про кодовую таблицу слышали?
Layzie
0 / 0 / 0
Регистрация: 28.12.2013
Сообщений: 89
30.01.2014, 13:36  [ТС]     считывание строки( библиотека string) #16
Цитата Сообщение от aLarman Посмотреть сообщение
просто в string хранится char а там нет русских букв
возможно, но методом которым я делал в начале(проблема с пробелом) русские буквы считывались записывались в файл и считывались от туда без затруднений, а в данном случае мне даже не предлагают ничего вводить просто игнорит.
aLarman
641 / 562 / 89
Регистрация: 13.12.2012
Сообщений: 2,109
30.01.2014, 13:38     считывание строки( библиотека string) #17
Цитата Сообщение от Tulosba Посмотреть сообщение
не болтайте ерундой. Про кодовую таблицу слышали?
в ASCII есть русские буквы?
Layzie
0 / 0 / 0
Регистрация: 28.12.2013
Сообщений: 89
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)
Еще ссылки по теме:

Считывание vector<string> - жрёт память - C++
Делаю считывание vector&lt;string&gt; из файла. При первом запуске (программа записана в автозапуск и запускается со sleep'ом в 30 секунд) жрёт...

Считывание String посимвольно либо Char in Switch - C++
Здравствуйте, суть такова: Нужно написать 3 числа (0-7), а дальше считать каждое число по отдельности и в зависимости от числа, выполнить...

Считывание строк с клавиатуры без учёта разделителей в переменные типа std::string - C++
Подскажите, есть какой способ считывать значения с клавиатуры без учёта разделитей в переменные типа std::string?

Как узнать что при считывание очередного слова в string был сделан переход на новую строку в файле? - C++
подскажите пожалуйста, как узнать что при считывание очередного слова в string был сделан переход на новую строку в файле?. ПС не...

считывание строки. С++ - C++
Строка считывается посимвольно буквами. а надо, чтобы словами.. как это сделать? FILE *fp2 = fopen(&quot;V.txt&quot;, &quot;rb&quot;); //открываем файл...


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

Или воспользуйтесь поиском по форуму:
Layzie
0 / 0 / 0
Регистрация: 28.12.2013
Сообщений: 89
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)
Ответ Создать тему
Опции темы

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