C++ Builder
| Главная | Уроки | Статьи | FAQ | Форум | Downloads | Литература | Ссылки | RXLib | Диски |

 
StringList
Николай
Отправлено: 02.09.2004, 11:59


Дежурный стрелочник

Группа: Участник
Сообщений: 55



Имеется список TL, содержащий набор данных (слов и чисел), причем каждый столбец соответствует своему типу. Слова разделены одним или несколькими пробелами. Как разбить выбранную строку на отдельные слова (числа)?
Guest
Отправлено: 02.09.2004, 13:12


Не зарегистрирован







Класс TParser может вам помочь.
joynter
Отправлено: 02.09.2004, 13:38


Станционный диспетчер

Группа: Участник
Сообщений: 137



s = String*(строка из списка);

AnsiString buff = "";
int space_pos;
while (space_pos)
{
space_pos = s.AnsiPos(" ");
if(space_pos> 1)
{
buff = buff + s.SubString(1,space_pos — 1) + "\n";
s.Delete(1,space_pos);
}
if(space_pos == 0)
buff = buff + s;
if(space_pos == 1)
s.Delete(1,1);
}
ShowMessage(buff);

Отредактировано joynter — 02/09/2004, 14:53
Doga
Отправлено: 02.09.2004, 21:27


Мастер участка

Группа: Участник
Сообщений: 575



char *strtok(char *s1, const char *s2);

wchar_t *wcstok(wchar_t *s1, const wchar_t *s2);

unsigned char *_mbstok(unsigned char *s1, const unsigned char *s2);


Description

Searches one string for tokens, which are separated by delimiters defined in a second string.

strtok considers the string s1 to consist of a sequence of zero or more text tokens, separated by spans of one or more characters from the separator string s2.

The first call to strtok returns a pointer to the first character of the first token in s1 and writes a null character into s1 immediately following the returned token. Subsequent calls with null for the first argument will work through the string s1 in this way, until no tokens remain.

The separator string, s2, can be different from call to call.

Note: Calls to strtok cannot be nested with a function call that also uses strtok. Doing so will causes an endless loop.

Return Value

strtok returns a pointer to the token found in s1. A NULL pointer is returned when there are no more tokens.

Отредактировано Doga — 02/09/2004, 22:31
joynter
Отправлено: 03.09.2004, 09:56


Станционный диспетчер

Группа: Участник
Сообщений: 137



совсем забыл, что такая функция есть
Doga
Отправлено: 03.09.2004, 14:24


Мастер участка

Группа: Участник
Сообщений: 575



2joynter

Ничего, бывает smile.gif

Вернуться в Вопросы программирования в C++Builder