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

Как считать слово из входного файла в лист типа стринг - C++

Восстановить пароль Регистрация
 
IProvokator
0 / 0 / 0
Регистрация: 18.12.2013
Сообщений: 43
23.11.2014, 18:32     Как считать слово из входного файла в лист типа стринг #1
Как считать допустим целую фамилию из входного файла в лист типа стринг, можно ли это сделать не посимвольно?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
23.11.2014, 18:32     Как считать слово из входного файла в лист типа стринг
Посмотрите здесь:

Считать текст из файла и вывести на экран только предложения, содержащие введенное с клавиатуры слово C++
Считать текст из файла, найти самое длинное слово и определяет C++
Считать числа типа double из файла и записать их в массив C++
C++ Считать с файла строку типа char до знака окончания строки
Считать все слово из файла в структуру C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Renji
1534 / 982 / 240
Регистрация: 05.06.2014
Сообщений: 2,957
23.11.2014, 18:46     Как считать слово из входного файла в лист типа стринг #2
И вам переводиться с курсов "C с классами" на курсы C++.
C++
1
2
3
4
5
ifstream stream("1234.txt");
list<string> my_list;
string surname;
stream>>surname;
my_list.push_back(surname);
Nosey
 Аватар для Nosey
1184 / 351 / 102
Регистрация: 22.10.2014
Сообщений: 786
Завершенные тесты: 2
23.11.2014, 18:59     Как считать слово из входного файла в лист типа стринг #3
Либо stl style
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <iostream>
#include <list>
#include <algorithm>
#include <string>
#include <sstream>
#include <fstream>
#include <iterator>
 
int main()
{
    std::ifstream file("input.txt");
    std::istream_iterator<std::string> fileBeg(file);
    std::istream_iterator<std::string> fileEnd;
    std::list<std::string> list;
    std::copy(fileBeg, fileEnd, std::back_insert_iterator<std::list<std::string>>(list));
    system("pause");
}
MrGluck
Ворчун
Эксперт С++
 Аватар для MrGluck
4920 / 2663 / 243
Регистрация: 29.11.2010
Сообщений: 7,405
23.11.2014, 19:08     Как считать слово из входного файла в лист типа стринг #4
Nosey, тогда уж так:
C++
1
std::list<std::string> list((std::istream_iterator<std::string>(file)), std::istream_iterator<std::string>());
IProvokator
0 / 0 / 0
Регистрация: 18.12.2013
Сообщений: 43
23.11.2014, 21:49  [ТС]     Как считать слово из входного файла в лист типа стринг #5
Renji, а как в цикле указать считывание файла не до конца, а до символа '\n'?
Nosey
 Аватар для Nosey
1184 / 351 / 102
Регистрация: 22.10.2014
Сообщений: 786
Завершенные тесты: 2
23.11.2014, 21:54     Как считать слово из входного файла в лист типа стринг #6
Цитата Сообщение от IProvokator Посмотреть сообщение
Renji, а как в цикле указать считывание файла не до конца, а до символа '\n'?
C++
1
2
3
    std::ifstream file("input.txt");
    std::string str;
    std::getline(file, str);
IProvokator
0 / 0 / 0
Регистрация: 18.12.2013
Сообщений: 43
23.11.2014, 21:55  [ТС]     Как считать слово из входного файла в лист типа стринг #7
Nosey, еще надо же '\n' в getline дописать
Nosey
 Аватар для Nosey
1184 / 351 / 102
Регистрация: 22.10.2014
Сообщений: 786
Завершенные тесты: 2
23.11.2014, 21:57     Как считать слово из входного файла в лист типа стринг #8
Цитата Сообщение от IProvokator Посмотреть сообщение
Nosey, еще надо же '\n' в getline дописать
Не понимаю, о чём вы.
IProvokator
0 / 0 / 0
Регистрация: 18.12.2013
Сообщений: 43
23.11.2014, 21:58  [ТС]     Как считать слово из входного файла в лист типа стринг #9
Я понимаю, что можно взять и всю первую строку getline-ом в стринг закинуть, но моя задача потом из этого стринга по одному слову затолкать в лист из стрингов, не совсем понимаю, как это реализовать

Добавлено через 1 минуту
Мне дана такая задача, есть файл в нем в первой строчки какие-то слова, и во второй строчки какие то слова. Вот мне нужно каждое слово из первой строчки затолкать в лист из стрингов, аналогично для второй строчки, только для другого листа
Nosey
 Аватар для Nosey
1184 / 351 / 102
Регистрация: 22.10.2014
Сообщений: 786
Завершенные тесты: 2
23.11.2014, 22:08     Как считать слово из входного файла в лист типа стринг #10
IProvokator,
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
#include "stdafx.h"
#include <iostream>
#include <list>
#include <string>
#include <sstream>
#include <fstream>
#include <strstream>
 
int main()
{
    std::ifstream file("input.txt");
    std::string str;
    std::list<std::list<std::string>> lllllist;
    while(std::getline(file, str))
    {
        std::stringstream strStream(str);
        std::istream_iterator<std::string> strBeg(strStream);
        std::istream_iterator<std::string> strEnd;
        std::list<std::string> list(strBeg, strEnd);
        lllllist.push_back(list);
    }
 
    system("pause");
}
Ну либо посимвольно, если это критичный к проессорному времени код, что врядли
IProvokator
0 / 0 / 0
Регистрация: 18.12.2013
Сообщений: 43
23.11.2014, 22:21  [ТС]     Как считать слово из входного файла в лист типа стринг #11
а почему заводим лист от листа?
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
23.11.2014, 22:26     Как считать слово из входного файла в лист типа стринг
Еще ссылки по теме:

Не получается сравнить переменную типа стринг C++
Сравнение переменных типа стринг C++
C++ Как считать из файла в массив типа int

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

Или воспользуйтесь поиском по форуму:
Nosey
 Аватар для Nosey
1184 / 351 / 102
Регистрация: 22.10.2014
Сообщений: 786
Завершенные тесты: 2
23.11.2014, 22:26     Как считать слово из входного файла в лист типа стринг #12
IProvokator,
Да куда угодно кладите ваши листы, хоть в вектор, хоть сами динамически выделяйте память, хоть N переменных заводите.
Только я немного подговнокодил, вот так стоит делать:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include "stdafx.h"
#include <iostream>
#include <list>
#include <string>
#include <sstream>
#include <fstream>
#include <strstream>
 
int main()
{
    std::ifstream file("input.txt");
    std::string str;
    std::list<std::list<std::string>> lllllist;
    while(std::getline(file, str))
    {
        std::stringstream strStream(str);
        std::istream_iterator<std::string> strBeg(strStream);
        std::istream_iterator<std::string> strEnd;
        lllllist.emplace_back(strBeg, strEnd);
    }
 
    system("pause");
}
Вы получаете лист размером с количество строк в файле, с листами в которых хранятся слова в этой строке.
Yandex
Объявления
23.11.2014, 22:26     Как считать слово из входного файла в лист типа стринг
Ответ Создать тему
Опции темы

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