Форум программистов, компьютерный форум, киберфорум
Наши страницы

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

Войти
Регистрация
Восстановить пароль
 
enk
46 / 45 / 7
Регистрация: 16.06.2012
Сообщений: 177
#1

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

16.06.2012, 06:22. Просмотров 852. Ответов 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();
}
Заранее спасибо.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
16.06.2012, 06:22
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Внести слова, разделенные пробелом, из строки в массив (C++):

Вывести строку, содержащую слова, разделенные одним пробелом и расположенные в алфавитном порядке - C++
Дана строка, состоящая из русских слов, набранных заглавными бук-вами и разделенных пробелами (одним или несколькими). Вывести строку,...

Вывести строку, содержащую слова, разделенные одним пробелом и расположенные в алфавитном порядке - C++
Дана строка, состоящая из русских слов, набранных заглавными буквами и разделенных пробелами(одним или несколькими). Вывести строку,...

Вывести строку, содержащую слова, разделенные одним пробелом и расположенные в алфавитном порядке - C++
Дана строка, набранная из слов, набранных заглавными буквами и разделенных пробелами (одним или несколькими). Вывести строку, содержащую...

Вывести строку, содержащую эти же слова, разделенные одним пробелом и расположенные в обратном порядке - C++
Здравствуйте. можете прокомментировать эту программу? #include &quot;stdafx.h&quot; #include &lt;string&gt; #include &lt;iostream&gt; using...

Как мне получить числа из строчки разделенные пробелом? - C++
Здравствуйте!!! Я решил порешать задачки на тимусе, а там половина задач начинается так: &quot;в строке через пробел записано N чисел:rtfm:&quot; ...

Для строки объединить в отдельную строку все слова, имеющие заданную букву, разделив их одним пробелом - C++
Доброго времени суток. Никак не получается отладить данную программу с учётом того, что буквы разного регистра неразличимы. Вот код с...

1
igorrr37
1860 / 1478 / 232
Регистрация: 21.12.2010
Сообщений: 2,466
Записей в блоге: 11
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;
}
1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
16.06.2012, 11:36
Привет! Вот еще темы с ответами:

Дана строка, содержащая разделенные пробелами слова, вывести все слова-палиндромы - C++
Дана строка, содержащая разделенные пробелами слова.Вивесты все имеющиеся слова-палиндлромы и их общее количество,срочно надо,у меня не...

Дана строка, в которой слова разделены одним пробелом. Найдите и выведите все слова указанной длины - C++
В итоге вышло, что если первое слово правильной длинны - выводит все слова в строке. Если нет - ничего не выводит. int main() { char...

Чтение через fscanf_s части строки с пробелом (и запись этой же строки) - C++
нужно записать в файл строку, содержащую через табуляцию int, char, char, char, float, int. Далее необходимо из такой же строки вывести...

Слова в предложении разделены пробелом...... - C++
помогите плиз с задачкой,очень нужно: Слова в предложении разделены пробелом. Предложение заканчивается &quot;.&quot; &quot;!&quot; и &quot;?&quot;. Определить слово с...


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

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