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

получить индекс строки - C++

Восстановить пароль Регистрация
 
karaulov2
0 / 0 / 0
Регистрация: 05.12.2012
Сообщений: 59
29.01.2013, 12:34     получить индекс строки #1
C++
1
std::string slst[] = { "TEST1", "TEST2", "TEST3"};

какая существует функция для получения индекса строки?

Добавлено через 25 минут
нашел для char массива, немного изменил(, для string) вот так будет работать?:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
int getsindex(std::string sarr,std::string value)
{
    string tetemps;
    int ret = -1;
    int y = 11; // тут размер массива
    int i = 0;
    int found = 0;
    while (i < y && found !=0)
    {
        tetemps=sarr[i++];
        found = strcmp(tetemps.c_str(), value.c_str());
    }
 
    if (found == 0)
    {
        ret = i - 1;
    }
 
    return ret;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
29.01.2013, 12:34     получить индекс строки
Посмотрите здесь:

C++ Вывести индекс строки сумма элементов которой отличается менее других от суммы элементов векторов
Определить среднее значение элементов, найти индекс строки и столбца C++
C++ Парсинг адресной строки, хочу извлечь индекс и название города
C++ Получить третий файл, содержащий чётные строки первого файла и нечётные строки второго файла
В заданном 2-м массиве найти индекс строки,сумма элементов которой максимальна C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
xtorne21st
интересующийся
300 / 271 / 19
Регистрация: 25.09.2010
Сообщений: 1,056
29.01.2013, 12:45     получить индекс строки #2
Цитата Сообщение от karaulov2 Посмотреть сообщение
1
std::string slst[] = { "TEST1", "TEST2", "TEST3"};
Цитата Сообщение от karaulov2 Посмотреть сообщение
нашел для char массива, немного изменил(, для string) вот так будет работать?:
Т.е. вы написали функция и хотите чтобы мы скомпилировали её и глянули работает она или нет, потаму что вам просто сделать это влом?)
Kaimi
 Аватар для Kaimi
36 / 31 / 3
Регистрация: 17.09.2012
Сообщений: 66
29.01.2013, 12:48     получить индекс строки #3
http://www.cplusplus.com/reference/algorithm/find/
xtorne21st
интересующийся
300 / 271 / 19
Регистрация: 25.09.2010
Сообщений: 1,056
29.01.2013, 13:12     получить индекс строки #4
Цитата Сообщение от Kaimi Посмотреть сообщение
http://www.cplusplus.com/reference/algorithm/find/
По моему, find возвращает итератор или s.end() в случаи если не найдено.

Добавлено через 9 минут
Цитата: Функция strcspn() возвращает длину начальной подстроки в строке, адресуемой параметром str1, которая не содержит ни одного символа из строки, адресуемой параметром str2. Другими словами, функция strcspn() возвращает индекс первого символа в строке str1, который совпадает с любым из символов в строке str2.
если есть строка в стиле с++ (string) то:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
#include <iostream>
#include <string>
#include <cstring>
using namespace std;
 
int main () 
{
    string line = "Hello world!\n";
 
    cout << strcspn(line.c_str(), "r") << endl;
 
    return 0;
}
karaulov2
0 / 0 / 0
Регистрация: 05.12.2012
Сообщений: 59
29.01.2013, 13:25  [ТС]     получить индекс строки #5
ладно все отлично работает, просто немного ещё подправил
xtorne21st
интересующийся
300 / 271 / 19
Регистрация: 25.09.2010
Сообщений: 1,056
29.01.2013, 13:29     получить индекс строки #6
Если есть библиотечная функция специально для этой цели, то есть смысл отдать ей предпочтение, а не изобретать велосипед заново.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
01.02.2013, 11:58     получить индекс строки
Еще ссылки по теме:

C++ Вывести индекс элемента в конце каждой строки матрицы
Возможно ли получить "константный" индекс в векторе? C++
C++ Для каждой строки матрицы распечатать индекс первого нулевого элемента

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Kaimi
 Аватар для Kaimi
36 / 31 / 3
Регистрация: 17.09.2012
Сообщений: 66
01.02.2013, 11:58     получить индекс строки #7
По моему, find возвращает итератор или s.end() в случаи если не найдено.
И что? Далее используется http://www.cplusplus.com/reference/iterator/distance/ и находится индекс.
Yandex
Объявления
01.02.2013, 11:58     получить индекс строки
Ответ Создать тему
Опции темы

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