Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

разделение строки на несколько по символу пробел

2.0K
08 февраля 2003 года
Pert
19 / / 13.01.2003
Есть строка, состояшая из предложения ну к примеру 5 слов
нужно разделить её на такие же пять строк состоящие из одного слова

как это сделать оптимально

HELP
1.8K
08 февраля 2003 года
A_l_e_x_T
40 / / 27.10.2002
Цитата:
Originally posted by Pert
Есть строка, состояшая из предложения ну к примеру 5 слов
нужно разделить её на такие же пять строк состоящие из одного слова

как это сделать оптимально

HELP


Оптимально Оптимально это что в твоём понимании. Ну можешь осуществлять проверку на пробел.

356
08 февраля 2003 года
molnij
159 / / 20.06.2000
Забавный вопрос, дествительно что значит оптимально, любой сходу приходящий в голову алгоритм имеет лимнейную зависимость от длины строки... Вариант первый, просматривать строку если не пробел, записывать в текущую выходную, если пробел, генерить новую. Несколько сложновато в реализации... Можно сделать тривиальный поиск пробела и копирование в новую строку, всего до найденной позиции... не факт, что будет проще...Можешь порыться в help'е, есть какая-то функция, которая это делает при передаче командной строки программе...
1.8K
08 февраля 2003 года
ALI
129 / / 10.01.2003
вот такой вариантик
 
Код:
AnsiString S="Слово1 Слово1 Слово1 Слово1";
for (;S.Pos(" ")>0;S[S.Pos(" ")]='\n');

TStringList *SL=new TStringList();
SL->SetText(S.c_str());
  // for (int i=0;i<SL->Count;i++)
  // теперь в SL->Strings твои слова
delete SL;

незнаю на сколько оптимально но кода довольно мало:) и все за тебя делает TStringList
2.5K
10 февраля 2003 года
olebon
12 / / 22.01.2003
лично я в таких случаях пользуюсь таким вариантом:
char *lexem; //задание указателя
lexem = strtok(bufer, " "); //вытаскивание из строки bufer лексеммы до пробела
while(lexem != NULL) { //начало цикла разбивки строки на последующие лексемы
lexem=strtok(NULL, " "); //вытаскивание очередной лексеммы до пробела
...} //завершение цикла
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог