Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Visual C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 16.11.2013, 15:20   #1
Dagestan228
 
Аватар для Dagestan228
 
Регистрация: 16.11.2013
Сообщений: 3
По умолчанию Функция, возвращающая слово из строки

Нужно написать функцию, которая возвращает слово(N) из данной строки(слова разделены знаком ',').
Например, дана строка str1: qwerty,221,one,test
Мне нужно присвоить строке str2 третье слово из строки str1

Код:
char str2[]=function(str1,3);
printf(str2); //one
Dagestan228 вне форума Ответить с цитированием
Старый 16.11.2013, 15:30   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Подскажу направление: http://www.programmersforum.ru/showthread.php?t=214478
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 16.11.2013, 16:14   #3
Dagestan228
 
Аватар для Dagestan228
 
Регистрация: 16.11.2013
Сообщений: 3
По умолчанию

Цитата:
Сообщение от Stilet Посмотреть сообщение
Подскажу направление: http://www.programmersforum.ru/showthread.php?t=214478
попробовал с функцией strtok, вот что вышло...
Слово на экран не выводит((

Код:
#include "stdafx.h"
#include <stdlib.h>
#include <string.h>
#include <stdio.h>
#include <iostream>
 using namespace std;

char* slovo (char *str,int N)
{	
int i=0;
	char * ptr = strtok (str,",");
  while (ptr != NULL||i!=N)                       
  {
	  i++;
      ptr = strtok (NULL, ",");
  }
   
    return ptr;

}
 
int main()
{
	char str1[256];
	int num;
    printf("Stroka:\n");
cin.getline (str1,256);
printf("Slovo nomer:\n");
cin>>num;
cout<<slovo(str1,num);

return 0;
}
_____________________
Нашел ошибку в цикле)

Код:
char* slovo (char *str,int N)
{	
int i=1;
	char * ptr = strtok (str,",");
  while (i!=N)                       
  {
	  
      ptr = strtok (NULL, ",");
	  i++;	  	  		  
  }

    return ptr;

}
Все работает, спасибо

Последний раз редактировалось Dagestan228; 16.11.2013 в 20:00. Причина: Нашел ошибку
Dagestan228 вне форума Ответить с цитированием
Старый 16.11.2013, 16:43   #4
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Незачто )
I'm learning to live...
Stilet вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Функция, возвращающая массив (С++) Alendorff Помощь студентам 14 09.03.2012 17:23
Функция возвращающая char Exeil Общие вопросы C/C++ 2 18.10.2010 19:42
Функция дописывающая слово в начало строки. COCOSS Помощь студентам 11 31.05.2010 10:39
Функция возвращающая массив babaj Общие вопросы Delphi 8 04.07.2009 17:40
Функция возвращающая строку(си++). necky Помощь студентам 1 18.10.2008 18:32