Форум программистов, компьютерный форум CyberForum.ru

Передвижение по строке - C++

Восстановить пароль Регистрация
 
Slava_
4 / 4 / 1
Регистрация: 27.02.2013
Сообщений: 91
03.03.2013, 05:47     Передвижение по строке #1
Здравствуйте, есть такая проблемка:
Вот например есть строка:
Код
char* string = "Text=Text2";
Чтобы пробежаться по символам и найти знак '=' я делаю так:
Код
while(*string)
{
    if(*string != '=')
    {
        ++string;
    }
    else
    {
        //return X; Вот тут нужно вернуть номер символа.
    }
}
Как возвратить номер этого символа в строке? (не его ID а именно номер, т.е в строке знак '=' четвертый по счету (если считать с нуля))
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
03.03.2013, 05:47     Передвижение по строке
Посмотрите здесь:

Передвижение обьекта C++
Передвижение по стрелочкам в консоли. C++
C++ Передвижение стрелками
Передвижение по строчке C++
Передвижение графических объектов на языке С++ C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Fenixsar
 Аватар для Fenixsar
3 / 3 / 0
Регистрация: 26.08.2008
Сообщений: 19
03.03.2013, 06:02     Передвижение по строке #2
Используй цикл через длину строки:

C++
1
for (int i; i<strlen(string);i++)
i - у тебя и будет номер символа.
alsav22
5282 / 4801 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
03.03.2013, 06:15     Передвижение по строке #3
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
int X = 0;
while(*string)
{
    if(*string != '=')
    {
        ++string;
        ++X;
    }
    else
    {
        return X; 
    }
}
Croessmah
Модератор
Эксперт С++
 Аватар для Croessmah
11841 / 6820 / 771
Регистрация: 27.09.2012
Сообщений: 16,911
Записей в блоге: 2
Завершенные тесты: 1
03.03.2013, 06:23     Передвижение по строке #4
Как вариант:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include <iostream>
int GetIndex(const char * str,const char ch='='){
    const char * p=str;
    while(*p){
        if (*p==ch) 
            return p-str;
        ++p;
    }
    return -1;
}
int main(){
    char * str="Text=Text2";
    std::cout<<GetIndex(str)<<std::endl;
    return 0;
}
Добавлено через 6 минут
Цитата Сообщение от Slava_ Посмотреть сообщение
не его ID а именно номер
интересно, но не понятно. Позицию в строке или индекс?
Цитата Сообщение от Slava_ Посмотреть сообщение
т.е в строке знак '=' четвертый по счету
по счету он пятый, а индекс у него 4
alsav22
5282 / 4801 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
03.03.2013, 06:34     Передвижение по строке #5
Цитата Сообщение от Slava_ Посмотреть сообщение
в строке знак '=' четвертый по счету (если считать с нуля))
!!!
Yandex
Объявления
03.03.2013, 06:34     Передвижение по строке
Ответ Создать тему
Опции темы

Текущее время: 02:23. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru