Форум: Форум C++Разное
Новые темы: 00
PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум C++

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Разбить строку
 
 автор: zaraza   (22.04.2007 в 07:04)   письмо автору
 
 

Как разбить строку на отдельные слова, допустим есть такой код:

char string[] = "King:Russia"

нужно разбить общую строку, на слова King и Russia, и вывод сделать примерно такой:
Name: King living: Russia

cout << "Name: " << name << "living: " << country << endl;

Пробовал с помощью strtok, но чет не получилось, оно тока King и вытаскивает.

  Ответить  
 
 автор: timaslook   (22.04.2007 в 13:31)   письмо автору
 
   для: zaraza   (22.04.2007 в 07:04)
 

тебе надо создать вот такую строку - char ,pat[]=". ,!?\/""''(){};:-", обьявдяешь указатель на свою строку - char *p=string, а теперь в цикле при помощи функции strspn находишь первое вхождении символа и его адрес в строке выглядит это так p+=strspn(p,pat), и с помощью strcspn адрес последнего символа p+=strcspn(p,pat). и теперь у тя есть начало слова и конец. соединяй.

  Ответить  
 
 автор: zaraza   (22.04.2007 в 13:51)   письмо автору
 
   для: timaslook   (22.04.2007 в 13:31)
 

Чушь, ищу других вариантов.

  Ответить  
 
 автор: Фитч   (23.04.2007 в 18:04)   письмо автору
 
   для: zaraza   (22.04.2007 в 13:51)
 

Воспользуйтесь классом std::string:

#include <stdio.h>
#include <string>
using namespace std;
 
void main(void

string str = "I Robot";
printf("%s",str.substr(0,str.find(" ")).c_str());
    return;
}

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования