Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > C++ Builder
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 11.01.2014, 14:08   #1
Oleg34
Пользователь
 
Регистрация: 09.09.2011
Сообщений: 48
По умолчанию Аналог Паскалевской функции pos(s1,s2) для С++

Здравствуйте! Подскажите, как можно записать на C++ Builder следующий кусок кода:
PHP код:
if (pos('<*1*>',cl_text)>0)
  
then
    begin
// IP-адрес для метода с номером 1 является элементом массива IP_s1 с номером 1 (IP_s1[1])
IP_s1[StrToInt(copy(cl_text,pos('<*1*>',cl_text)+2,1))]:=Socket.RemoteAddress;
// номер порта для метода с номером 1 является элементом массива Port1 с номером 1 (Port1 [1])
Port1[StrToInt(copy(cl_text,pos('<*1*>',cl_text)+2,1))]:=
 
copy(cl_text,pos('<*1*>',cl_text)+5,4);
//посылка сообщения серверу-вычислителю о регистрации
Socket.SendText(TimeToStr(now)+' '+'Успешная регистрация метода 1');
Form_SR.Memo_Log.Lines.Add('Метод 1 реализуется на сервере '+Socket.RemoteHost);
Form_SR.Label2.Caption:='Метод 1 - сервер '+Socket.RemoteHost+'(Port '+Port1[StrToInt(copy(cl_text,pos('<*1*>',cl_text)+2,1))]+')';
end
А конкретно, как реализовать две функции: Pos() и Copy() на С++?
Oleg34 вне форума Ответить с цитированием
Старый 11.01.2014, 14:28   #2
Streletz
Старожил
 
Регистрация: 03.01.2014
Сообщений: 2,870
По умолчанию

В помощь: Работа со строками в C++
Streletz вне форума Ответить с цитированием
Старый 11.01.2014, 16:01   #3
Oleg34
Пользователь
 
Регистрация: 09.09.2011
Сообщений: 48
По умолчанию

Подходящих ф-ий не нашел. Не знаю, грамотно или нет, но сделал так:
вместо
PHP код:
if (pos('<*1*>',cl_text)>0
написал
PHP код:
if (cl_text[1] == '<' && cl_text[2] == '*' && cl_text[3] == '1' && cl_text
        
[4] == '*' && cl_text[5] == '>'
вместо
PHP код:
copy(cl_text,pos('<*1*>',cl_text)+5,
использовал функцию SubString()
PHP код:
  AnsiString s="<*1*>1112";
  
Edit1->Text=s;
  
Edit2->Text=s.SubString(6,4); 
Oleg34 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Реализовать функцию Pos(a, n) через другие функции. (Turbo Delphi) Just-Joni Помощь студентам 13 29.12.2013 16:42
FPC. Есть ли аналог функции CHR для Юникода? Lex_Liven Lazarus, Free Pascal, CodeTyphon 3 27.05.2011 13:30
Аналог функции fscanf для дельфи? VLAD2 Помощь студентам 1 07.01.2011 15:31
Аналог функции rand() для типа float Linel PHP 1 01.06.2009 21:01
Аналог функции GetObject из VB для Делфи? Stilet Общие вопросы Delphi 1 29.04.2009 17:46