• 15 апреля стартует «Курс «SQL-injection Master» ©» от команды The Codeby

    За 3 месяца вы пройдете путь от начальных навыков работы с SQL-запросами к базам данных до продвинутых техник. Научитесь находить уязвимости связанные с базами данных, и внедрять произвольный SQL-код в уязвимые приложения.

    На последнюю неделю приходится экзамен, где нужно будет показать свои навыки, взломав ряд уязвимых учебных сайтов, и добыть флаги. Успешно сдавшие экзамен получат сертификат.

    Запись на курс до 25 апреля. Получить промодоступ ...

Помогите, проект горит

  • Автор темы Guest_
  • Дата начала
Статус
Закрыто для дальнейших ответов.
G

Guest_

Народ очень надо не незнаю :)

Допустим есть строка:
+++B-2 - Бомбардировщик 21 века+++ 11529 13.11.2000

а надо из неё сделать:
a[0]=B-2 - Бомбардировщик 21 века
a[1]=11529 13.11.2000

да и ещё такой вопрос
как ким образом можно убрать из строки лишние пробелы..

Заранее спасибо кто откликнеться на эту тему!
 
S

shm

Не совсем понятно, что сделать - массив для строк или заменять части исходной строки. И какие пробелы тут лишние? Правда, если проект горит из-за ЭТОГО :)
Если C++, см. strstr, strchr, strset, sprintf....
 
A

ash

Инструмент по задаче...
Используй Regexps
 
S

Serge

Используйте вектора из STL и не мучайтесь, там все предусмотрено на все случаи жизни.
 
G

Guest_LIN

есть такие вопросы...
на чем написан ваш проект...?
а исходя из этого чего-нибудь придумаем...
 
G

Guest

Я так понимаю, разделитель это строка "+++".
Окэй.
Код:
const char* const splitter = "+++";
const int splitlen = strlen(splitter);

//------------------------

void add_token(const char* token, int length); // token is a part of string
void add_token(const char* token); // 0-terminated string

//------------------------

const char* src; // = "+++ b2 stealth bomber +++ 11529 ....."

while(true)
{
const char* next_splitter = strstr(src, splitter);
if(next_splitter != NULL)
{
 add_token(src, next_splitter-src);
 src = next_splitter + splitlen;
}
else
{
 add_token(src);
 break;
}
}
Естественно, это эскиз, который дорабатывается напильником
 
L

LAW

Проще всего использовать функции AnsiString.
при этом Вам необходим разделитель отделяющий одну строку от другой.
Например ";". Тогда:
AnsiString a;
AnsiString a1,a2;
a="+++B-2 - Бомбардировщик 21 века+++; 11529 13.11.2000";
int position=a.Pos(";");
a1=a.SubString(0,position-1);
a2=a.SubString(position+1,a.length()-position);

А для отрезания пробелов слева и справа от значащих символов используйте:
a1=a1.Trim();
a1=a1.TrimLeft();
a1=a1.TrimRight();

Удачи.
 
Статус
Закрыто для дальнейших ответов.
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!