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

Ввод string'a с консоли и запись его в вектор - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 26, средняя оценка - 4.65
IceSqueez
Java, C# - Expert
 Аватар для IceSqueez
66 / 66 / 2
Регистрация: 09.08.2011
Сообщений: 284
03.06.2012, 21:15     Ввод string'a с консоли и запись его в вектор #1
Здравствуйте дело в том что мне надо написать программу которая работает с строчным вектором типа string. Вроде-бы все нормально я набросал код, но я не знаю как ввести string с консоли. Мне не надо вводить чар и преобразовывать его в string, а сразу вводить string.
Вывод я знаю что как-то так:
C++
1
2
3
4
5
6
7
8
9
10
11
12
#include <string.h>
using namespace std;
 
int main(){
string line;
cin >> line;
vector <string> a;
a.push_back(line);
cout << a.at(0).c_str;
system ("pause");
return 0;
}

Вот и короче string я не могу ввести
Прошу помощи
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
03.06.2012, 21:15     Ввод string'a с консоли и запись его в вектор
Посмотрите здесь:

C++ Ввод с консоли в *char
C++ вектор типа string
C++ Русский язык в консоли, класс, вектор с типом класса
C++ Тип string в консоли
C++ Запись информации из вектора типа string в вектор типа double
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Lordif
 Аватар для Lordif
21 / 21 / 1
Регистрация: 18.04.2010
Сообщений: 87
03.06.2012, 21:16     Ввод string'a с консоли и запись его в вектор #2
C++
1
getline(cin, line);
Лжец
 Аватар для Лжец
31 / 31 / 3
Регистрация: 13.12.2011
Сообщений: 106
03.06.2012, 21:22     Ввод string'a с консоли и запись его в вектор #3
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
#include <string>
#include <iostream>
using namespace std;
 
int main()
{
    string str;
    cout << "Get str: ";
    getline(cin, str);
    cout << str << endl;
 
    return 0;
}
И кстати,

C++
1
#include <string.h>
Это Сишный заголовочный файл, он к STL не имеет никакого отношения. Что бы использовать STL нужно подключать, вот этот заголовок (без ".h"):

C++
1
#include <string>
IceSqueez
Java, C# - Expert
 Аватар для IceSqueez
66 / 66 / 2
Регистрация: 09.08.2011
Сообщений: 284
03.06.2012, 21:25  [ТС]     Ввод string'a с консоли и запись его в вектор #4
Спасибо, но не помогло пишет getline не известный идентификатор...

Кстати, у меня не #include <string> а #include <string.h> рядок старого типа и надо использовать именно его.
Лжец
 Аватар для Лжец
31 / 31 / 3
Регистрация: 13.12.2011
Сообщений: 106
03.06.2012, 21:26     Ввод string'a с консоли и запись его в вектор #5
Цитата Сообщение от IceSqueez Посмотреть сообщение
Спасибо, но не помогло пишет getline не известный идентификатор...
Скопируйте код ошибки. Скорее всего дело в заголовке, #include <string> - .h - там быть не должен.
IceSqueez
Java, C# - Expert
 Аватар для IceSqueez
66 / 66 / 2
Регистрация: 09.08.2011
Сообщений: 284
03.06.2012, 21:28  [ТС]     Ввод string'a с консоли и запись его в вектор #6
Error 1 error C3861: 'getline': identifier not found d:\icesqueez\source\c++\college\practice\stldayone\stldayone\stldayone.cpp 21 1 STLDayOne
Лжец
 Аватар для Лжец
31 / 31 / 3
Регистрация: 13.12.2011
Сообщений: 106
03.06.2012, 21:29     Ввод string'a с консоли и запись его в вектор #7
IceSqueez, заголовок поменяли, не помогло?
IceSqueez
Java, C# - Expert
 Аватар для IceSqueez
66 / 66 / 2
Регистрация: 09.08.2011
Сообщений: 284
03.06.2012, 21:35  [ТС]     Ввод string'a с консоли и запись его в вектор #8
Если ставить #include <string> то все работает, но дело в том что на компьютерах где я пишу это задание нету string чистого поскольку там VisualStudio 2005. есть только сишный... #include <string.h>

Добавлено через 3 минуты
У кого какие соображения по этому поводу ?
Лжец
 Аватар для Лжец
31 / 31 / 3
Регистрация: 13.12.2011
Сообщений: 106
03.06.2012, 21:36     Ввод string'a с консоли и запись его в вектор #9
Цитата Сообщение от IceSqueez Посмотреть сообщение
Если ставить #include <string> то все работает, но дело в том что на компьютерах где я пишу это задание нету string чистого поскольку там VisualStudio 2005. есть только сишный... #include <string.h>
В 2005 студии - должен быть stl, а значит есть и заголовок.

В <string.h> или <cstring> - определены функции для работы с Сишными строками, там нет типа данных string, соответственно, если в вашей студии нету STL (или этого заголовка), вы не сможете его использовать и вам придется реализовывать функционал через Сишные строки, но я рекомендую вам всё же по-сильнее покопаться, поскольку очень маловероятно, что в студии нету stl
IceSqueez
Java, C# - Expert
 Аватар для IceSqueez
66 / 66 / 2
Регистрация: 09.08.2011
Сообщений: 284
03.06.2012, 21:43  [ТС]     Ввод string'a с консоли и запись его в вектор #10
Дак там есть STL... там нету <string> там они идет через хедер. Вот в чем проблема.


Кстати я еще не могу объявить итератор:
C++
1
vector <string>::iterrator iter=a.begin();
ошибка: Error 5 error C2065: 'iter' : undeclared identifier d:\icesqueez\source\c++\college\practice\stldayone\stldayone\stldayone.cpp 57 1 STLDayOne

Добавлено через 1 минуту
ошибку нашел ::iterator пишется с одной r

Добавлено через 2 минуты
Как с вектор а удалить элемент, по строке, я думал так:
C++
1
2
3
4
5
6
7
8
9
for (int i=0; i<n; i++)
    {
        if (a.at(i)==del)
        {
            a.remove(i);
            n--;
            i--;
        }
    }
del у меня тоже вводится как string. Но мне пишет что:

Error 1 error C2039: 'remove' : is not a member of 'std::vector<_Ty>' d:\icesqueez\source\c++\college\practice\stldayone\stldayone\stldayone.cpp 45 1 STLDayOne
Лжец
 Аватар для Лжец
31 / 31 / 3
Регистрация: 13.12.2011
Сообщений: 106
03.06.2012, 21:45     Ввод string'a с консоли и запись его в вектор #11
Странно, поскольку msdn говорит, что данный заголовок в 2005 студии есть. Попробуйте тогда заголовочный файл со своего компьютера перенести туда и надеяться на то, что все заработает с его наличием
Lordif
 Аватар для Lordif
21 / 21 / 1
Регистрация: 18.04.2010
Сообщений: 87
03.06.2012, 22:01     Ввод string'a с консоли и запись его в вектор #12
Как удалить элемент из вектора http://en.cppreference.com/w/cpp/container/vector/erase
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
03.06.2012, 22:05     Ввод string'a с консоли и запись его в вектор
Еще ссылки по теме:

Ввод кириллицы в консоли C++
Ввод в консоли C++

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

Или воспользуйтесь поиском по форуму:
IceSqueez
Java, C# - Expert
 Аватар для IceSqueez
66 / 66 / 2
Регистрация: 09.08.2011
Сообщений: 284
03.06.2012, 22:05  [ТС]     Ввод string'a с консоли и запись его в вектор #13
Все спасибо за помощь
Yandex
Объявления
03.06.2012, 22:05     Ввод string'a с консоли и запись его в вектор
Ответ Создать тему
Опции темы

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