powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / C++ [игнор отключен] [закрыт для гостей] / Разбиение строки на слова.
9 сообщений из 9, страница 1 из 1
Разбиение строки на слова.
    #33005575
Mah
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Mah
Гость
Помогите написать функцию разбиения строки на отдельные слова. Слова разделены одним или несколькими пробелами! (Си)
...
Рейтинг: 0 / 0
Разбиение строки на слова.
    #33005585
ZrenBy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
    char *a,*p;

    a = strtok( str, " ");
    f.push_back(a);

    if( (p = strtok(  0 , " " )) !=  0  ){
      param.insert( std::pair<std::string,std::string>(a,p) );
    }
...
Рейтинг: 0 / 0
Разбиение строки на слова.
    #33005713
vitvsh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
если C , то можно вот так
Код: plaintext
1.
2.
3.
char str[]="12 34 56";
char a[ 5 ];
while (sscanf(str,"%[^ \t]s",a));
...
Рейтинг: 0 / 0
Разбиение строки на слова.
    #33005731
Фотография Анатолий Широков
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 vitvsh

вечный цикл возвращающий первое слово
...
Рейтинг: 0 / 0
Разбиение строки на слова.
    #33005755
vitvsh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
угу, перестарался малость
кроме того нужно еще через пробелы "перешагивать"
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
char str[]="12 34 56";
char a[ 5 ];
int i= 0 ;
while (sscanf(str,"%[^ ]s",a))
{
i=strlen(a);
for(;str[i]!=0x20 && i<strlen(str);i++);
}
...
Рейтинг: 0 / 0
Разбиение строки на слова.
    #33005769
ZrenBy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vitvshесли C ,

Код: plaintext
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.
35.
36.
37.
38.
39.
All versions of the C run-time libraries.
Example
// crt_strtok.c
/* In this program, a loop uses strtok
 * to print all the tokens (separated by commas
 * or blanks) in the string named "string".
 */

#include <string.h>
#include <stdio.h>

char string[] = "A string\tof ,,tokens\nand some  more tokens";
char seps[]   = " ,\t\n";
char *token;

int main( void )
{
   printf( "Tokens:\n" );
   /* Establish string and get the first token: */
   token = strtok( string, seps );
   while( token != NULL )
   {
      /* While there are tokens in "string" */
      printf( " %s\n", token );
      /* Get next token: */
      token = strtok( NULL, seps );
   }
}
Output
Tokens:
 A
 string
 of
 tokens
 and
 some
 more
 tokens

...
Рейтинг: 0 / 0
Разбиение строки на слова.
    #33006166
Partisan M
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
найти библиотеку для работы с регулярными выражениями. Для С++ есть например в составе boost, хотя я сам её не испытывал.
...
Рейтинг: 0 / 0
Разбиение строки на слова.
    #33006461
Mah
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Mah
Гость
Спасибо ВСЕМ, вы мне очень помогли!
...
Рейтинг: 0 / 0
Разбиение строки на слова.
    #33006487
Фотография Lelikk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Partisan Mнайти библиотеку для работы с регулярными выражениями. Для С++ есть например в составе boost, хотя я сам её не испытывал.

Стрельба из пушки по воробьям!
...
Рейтинг: 0 / 0
9 сообщений из 9, страница 1 из 1
Форумы / C++ [игнор отключен] [закрыт для гостей] / Разбиение строки на слова.
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]