Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.56/18: Рейтинг темы: голосов - 18, средняя оценка - 4.56
1 / 1 / 0
Регистрация: 24.11.2013
Сообщений: 51
1

Чем заменить istringstream?

30.03.2014, 21:24. Показов 3603. Ответов 3
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Задание:Найти в списке из 7 слов все слова, состоящие из заданного количества букв.

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <iostream.h>
#include <sstream.h>
#include <string.h>
#include <conio.h>
main()
{
string str;
cout << "Vvedite sroku: ";
getline(std::cin, str);
int dlina;
cout << "Vvedite kolichestvo bukv: ";
cin >> dlina;
istringstream istr(str);
string word;
while (istr >> word)
if (word.length() == dlina)
cout <<"Slovo, sosotjachie iz "<<dlina<<" bukv: "<<word<< std::endl;
getch ();
}


Программа работает, всё хорошо, только можно ли как то заменить istringstream, и вообще не использовать библиотеку <sstream.h> в целом?
как тогда будет выглядеть этот фрагмент:
C++
1
2
3
istringstream istr(str);
string word;
while (istr >> word)
?
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
30.03.2014, 21:24
Ответы с готовыми решениями:

Чем отличается istringstream от stringstream?
можете объяснить работу каждого оператора?

Заменить использование istringstream на вариант из string или string.h
Как заменить 14 строку функцией из &lt;string&gt; или &lt;string.h&gt; и без &lt;sstream&gt; {deleted}...

сма DAEWOO DWD M1029A чем заменить транс, трансформатор в обрыве, чем заменить
день добрый. модуль PN:361430A950 первичная транса в обрыве . может кто подскажет параметры ,...

Чем можно заменить заменить toggle() ?
Добрый день, у меня такой вопрос. Чем можно заменить toggle(function(), function()); В ранних...

3
5498 / 4893 / 831
Регистрация: 04.06.2011
Сообщений: 13,587
30.03.2014, 21:35 2
Цитата Сообщение от wonka Посмотреть сообщение
можно ли как то заменить istringstream, и вообще не использовать библиотеку <sstream.h> в целом?
Тогда уж и string, и пр. из С++... Можно, если использовать C-шные функции (strtok и пр.)
Цитата Сообщение от wonka Посмотреть сообщение
как тогда будет выглядеть этот фрагмент:
На форуме по С спросите.
0
2848 / 1997 / 986
Регистрация: 21.12.2010
Сообщений: 3,705
Записей в блоге: 10
30.03.2014, 23:01 3
Лучший ответ Сообщение было отмечено wonka как решение

Решение

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <cstdio>
#include <cstring>
#include <cstdlib>
 
int main()
{
    char str[256];
    puts("Vvedite stroku:");
    gets(str);
    int len;
    printf("Vvedite dlinu: ");
    scanf("%d", &len);
    for(char* p = strtok(str, " "); p; p = strtok(0, " "))
    {
        if(strlen(p) == len)
            puts(p);
    }
    return 0;
}
0
1 / 1 / 0
Регистрация: 24.11.2013
Сообщений: 51
02.04.2014, 20:45  [ТС] 4
объясните пожалуйста что происходит в этом фрагменте:
C++
1
for(char* p = strtok(str, " "); p; p = strtok(0, " "))
0
02.04.2014, 20:45
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
02.04.2014, 20:45
Помогаю со студенческими работами здесь

Описание istringstream
Есть программа : #include &lt;iostream&gt; #include &lt;sstream&gt; using namespace std; int main() { ...

Istringstream, istream_iterator
std::string string1 std::cout &lt;&lt; &quot;Введите первую неубывающую последовательность натуральных чисел:...

Ostringstream и istringstream
int StrToInt(string buf) { istringstream stream(buf); int decimal; ...

Getline and istringstream
int main() { cout &lt;&lt; &quot;Vvodim stroku: &quot;; string str,str2; getline(cin, str); ...


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru