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

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

Войти
Регистрация
Восстановить пароль
 
Pakestan228
0 / 0 / 0
Регистрация: 16.11.2013
Сообщений: 28
#1

Функция, возвращающая слово из строки - C++

04.01.2014, 20:34. Просмотров 264. Ответов 2
Метки нет (Все метки)

Дана строка(все слова разделены запятыми): word1,word2,word3,word4
Нужно написать функцию, которая будет возвращать определенное слово.
Вот что получилось:
C++ (Qt)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
char* slovo(char* str, int count)
{
    int k=1;
char *strs="Error";
char * pch = strtok (str,","); 
 while (pch != NULL)                        
  {
      if(k==count)
          strs=pch;
            
            pch = strtok (NULL, ",");
 
            k++ ;
 }
 return strs;
    }
Она работает... Но при повторном вызове возвращает error...
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
04.01.2014, 20:34
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Функция, возвращающая слово из строки (C++):

Функция возвращающая K-е слово строки - C++
Описать функцию WordK(S, K) строкового типа, возвращающую K-е слово строки S (словом считается набор символов, не содержащий пробелов и...

Функция возвращающая абсолютное разницу первого и второго параметров и функция типа int, возвращающая минимальное из трех целых чисел - C++
Разработать заданные согласно условия функции и сделать в главной программе по два вызова этих функций с различными параметрами. Для...

Рекурсивная функция, не возвращающая значения, которая удаляет из заданной строки все точки - C++
вот код...есть ещё вариант с массивом, но он тоже не работает =( тем более препод сказал, что через массив делать не стоит...=( #include...

Рекурсивная функция, не возвращающая значения, которая удаляет из заданной строки все точки - C++
плиииз...(((

Функция меняющая местами последнее слово строки на слово с указанным номером - C++
Помогите сделать функцию,которая в указанной строке меняет местами последнее слово и слово,номер которого определяется вторым параметром...

Функция, выделяющая первое слово из строки - C++
Создать программу которая выделяет первое слово из строки. Нужно использовать именно функцию, спасибо!

2
alexcoder
1546 / 691 / 90
Регистрация: 03.06.2009
Сообщений: 3,670
Завершенные тесты: 1
05.01.2014, 10:09 #2
Потому что strtok изменяет строку, разделители заменяет нулями.
Нужно либо делать копию строки и работать strtok с копией, либо не использовать strtok.
1
castaway
Эксперт С++
4915 / 3023 / 370
Регистрация: 10.11.2010
Сообщений: 11,080
Записей в блоге: 10
Завершенные тесты: 1
05.01.2014, 11:30 #3
У тебя должен прерываться цикл оператором break; если условие в 8-й строке истинно.
1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
05.01.2014, 11:30
Привет! Вот еще темы с ответами:

Функция, возвращающая указатель - C++
Добрый вечер. Требуется написать программу, содержащую структуру вида type1 *имя(type2); т.е. функцию, которая принимает аргумент типа...

Функция, возвращающая vector - C++
Решил реализовать шарповскую String.Split(). Она должна возвращать vector<string>, следовательно либо для него надо выделять место в...

Функция возвращающая массив - C++
Здравствуйте. Для возврата массива возвращаю указатель на него, но вне предела области в которой он был создан память выделенная под массив...

Функция, возвращающая указатель - C++
Здравствуйте. Пускай есть класс Some_type и массив такого класса. Можно ли функцией Some_type* some_name (some_type) заполнять массив,...


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

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

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