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

Внести слова, разделенные пробелом, из строки в массив - C++

Восстановить пароль Регистрация
 
enk
 Аватар для enk
45 / 44 / 7
Регистрация: 16.06.2012
Сообщений: 177
16.06.2012, 06:22     Внести слова, разделенные пробелом, из строки в массив #1
Доброго времени суток. Нужно считать текст из файла и внести в массив слова определенной строки, разделенные пробелом. Набросал такой код:
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
25
26
27
28
29
30
31
32
33
34
const
    string filePath = "input.txt";
 
bool FileExists(const char *fname)
{
    return ifstream(fname) != NULL;
}
 
int main()
{
    vector <string> srtings, words;
 
    string tmpStr;
    
    if (!(FileExists(filePath.c_str())))
    {
        printf("File not exists! Exiting...");
        return 0;
    }
    
    ifstream input(filePath.c_str());
    while(!input.eof())
    {
        getline(input, tmpStr);
        srtings.push_back(tmpStr);
    }
 
// Тут нужно из произвольной строки массива strings
//(номер строки вводится пользователем) в массив words внести слова, разделенные пробелом.
//Реально ли это сделать, не проходясь в цикле, определяя является ли символ пробелом?
//Реально ли как-то упростить код?
    
    input.close();
}
Заранее спасибо.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
16.06.2012, 06:22     Внести слова, разделенные пробелом, из строки в массив
Посмотрите здесь:

C++ Слова в предложении разделены пробелом......
C++ Вывести строку, содержащую слова, разделенные одним пробелом и расположенные в алфавитном порядке
C++ Для строки объединить в отдельную строку все слова, имеющие заданную букву, разделив их одним пробелом
Функция в строке должна вычислять количество слов (слова разделяются пробелом) C++
Вывести строку, содержащую слова, разделенные одним пробелом и расположенные в алфавитном порядке C++
Дана строка, содержащая разделенные пробелами слова, вывести все слова-палиндромы C++
C++ Дана строка, в которой слова разделены одним пробелом. Найдите и выведите все слова указанной длины
C++ Как мне получить числа из строчки разделенные пробелом?

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
igorrr37
 Аватар для igorrr37
1593 / 1221 / 118
Регистрация: 21.12.2010
Сообщений: 1,868
Записей в блоге: 7
16.06.2012, 11:36     Внести слова, разделенные пробелом, из строки в массив #2
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
25
26
27
28
29
30
31
#include <iostream>
#include <fstream>
#include <vector>
#include <string>
#include <sstream>
#include <iterator>
 
int main()
{
    const std::string filePath("in.txt");
    std::ifstream ifs(filePath.c_str());
    if(ifs.is_open())
    {
        std::vector<std::string> vStrings, vWords;
        std::string sTmp;
        while(std::getline(ifs, sTmp))
        {
            vStrings.emplace_back(sTmp);
        }
        std::size_t lineNum(2); // номер строки
        std::istringstream iss(vStrings.at(lineNum));
        vWords.assign((std::istream_iterator<std::string>(iss)), std::istream_iterator<std::string>());
        for(const auto& val : vWords)
        {
            std::cout << val << std::endl;
        }
    }
    else std::cerr << "Unable to open file" << std::endl;
    ifs.close();
    return 0;
}
Yandex
Объявления
16.06.2012, 11:36     Внести слова, разделенные пробелом, из строки в массив
Ответ Создать тему
Опции темы

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