Помогите с функциями

Тема в разделе "Общие вопросы по С и С++", создана пользователем Garoh, 29 авг 2006.

Статус темы:
Закрыта.
  1. Garoh

    Garoh Гость

    При разработке программы на компиляторе C++ Builder 6.0 мне понадобилась функция такого типа:
    function_name(AnsiString s1, AnsiString s2),
    где: function_name - естесственно, имя функции; s1 - некоторая исходная строка, s2 - строка или символ, которые необходимо найти на всем протяжении строки s1 и возвратить порядковый номер ее начала. Хотелось бы знать, есть ли такая библиотечная функция вообще, а если есть, то какую библиотеку необходимо подключить для ее вызова. Тип строк необязательно должен быть AnsiString, можно и char, т.к. они легко "конвертируются" друг в друга. В хелпе рылся 3 часа, ничего похожего не нашел. Тему создал именно в этом разделе, потому как это скорее относится к синтаксису языка, а не к объектно-ориентированным свойствам языка и компилятора.
    З.Ы: есть такая функция в Basik'е - InStr(s1, s2), она либо возвращает порядковый номер начала строки s2 в строке s1 целочисленного типа, либо возвращает 0, если ничего похожего в s1 не нашла.
    Прошу помочь, т.к. на С++ программирую совсем недавно, нужен совет
     
  2. Genafont

    Genafont Гость

    Каждая строка типа AnsiString может использоваться как массив символов, так же, как и в твоём родном QBasic, т.е. если AnsiString slovo="qwerty", то slovo[2]="w", a slovo[5]="t" и т.д. Далее... Ты можешь свободно определять длину слова поставив после переменной точку и написав Lenght(). Чтобы не было разницы в регистре, т.е. "А" или "а" можно использовать AnsiUpperCase().

    К примеру, этот код найдёт символ "G" в строке "QWERTYUIOPASDFGHJKL" и вернёт его позицию:

    Код (Text):
    AnsiString t = "g";
    AnsiString fnnn = "QWERTYUIOPASDFGHJKL";
    for(int ttt=1;ttt<=fnnn.Length();ttt++)
    {
    if(AnsiUpperCase(fnnn[ttt])==AnsiUpperCase(t))
    {
    Edit1->Text="Первое вхождение символа "+t+" в строке "+fnnn+ " встречается на позиции "+IntToStr(ttt);
    }
    }
    успехов :)
     
  3. grigsoft

    grigsoft Well-Known Member

    Регистрация:
    15 ноя 2005
    Сообщения:
    735
    Симпатии:
    0
    Ээ, а что strstr в билдере недоступна?
     
  4. Genafont

    Genafont Гость

    Можно и через strstr(), но мы же не ищем лёгких путей ;) На самом деле - человек новенький в C++, а после QBasic ему будет легко разобраться с этим кодом. ;)
     
Загрузка...
Похожие Темы - Помогите функциями
  1. limbra
    Ответов:
    3
    Просмотров:
    44
  2. NylevoiChelovek
    Ответов:
    4
    Просмотров:
    97
  3. Ruska132
    Ответов:
    34
    Просмотров:
    263
  4. gURaBA_N
    Ответов:
    7
    Просмотров:
    145
  5. uxbmw3w
    Ответов:
    0
    Просмотров:
    61
Статус темы:
Закрыта.

Поделиться этой страницей