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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 20.07.2011, 01:32   #1
firephenix
Пользователь
 
Регистрация: 14.02.2011
Сообщений: 89
По умолчанию Поиск символа в массиве символов функцией c++

Подскажите пожалуйста, есть ли в c++ стандартная функция, чтобы в массиве символов находила позицию нужного мне символа.
firephenix вне форума Ответить с цитированием
Старый 20.07.2011, 01:50   #2
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

В смысле позицию нужного? Первого? А зачем эта функция?
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.

Последний раз редактировалось Alex11223; 20.07.2011 в 02:15.
Alex11223 вне форума Ответить с цитированием
Старый 20.07.2011, 02:03   #3
firephenix
Пользователь
 
Регистрация: 14.02.2011
Сообщений: 89
По умолчанию

Например: есть массив символов chr S[12]="01234657896" и мне нужно найти под каким номером в этой строке находится первый встретившийся символ '6', функция как раз должна мне выдать этот номер, т.е. 5 (или хотя бы индекс 4).
firephenix вне форума Ответить с цитированием
Старый 20.07.2011, 02:13   #4
Pein95
Форумчанин
 
Регистрация: 25.04.2010
Сообщений: 881
По умолчанию

я в плюсах не силен но вроде можно так:
Код:
for (i=0;i<12;i++)
if s[i]=='6' index=i;
Pein95 вне форума Ответить с цитированием
Старый 20.07.2011, 02:21   #5
firephenix
Пользователь
 
Регистрация: 14.02.2011
Сообщений: 89
По умолчанию

Спасибо, но я это знаю. Мне нужна именно стандартная библиотечная функция.
firephenix вне форума Ответить с цитированием
Старый 20.07.2011, 02:27   #6
Pein95
Форумчанин
 
Регистрация: 25.04.2010
Сообщений: 881
По умолчанию

а в плюсах нет функции pos?

Последний раз редактировалось Pein95; 20.07.2011 в 02:29.
Pein95 вне форума Ответить с цитированием
Старый 20.07.2011, 04:13   #7
Сtrl
C++
Форумчанин
 
Аватар для Сtrl
 
Регистрация: 27.03.2011
Сообщений: 803
По умолчанию

Все есть. Только не для встроенных массивов, а для контейнера vector. И, кстати, vector намного удобнее не только в этом плане.
Ищете информацию по C++?
cplusplus.com
Сtrl вне форума Ответить с цитированием
Старый 20.07.2011, 09:12   #8
rrrFer
Санитар
Старожил
 
Аватар для rrrFer
 
Регистрация: 04.10.2008
Сообщений: 2,577
По умолчанию

Сtrl
Зачем советовать вектор, если ТС спрашивает про массив символов(строку)? - чем std ::string не подходит?
прямо конкретно его проблему решают методы find или find_first_of класса string.

В string.h описана strchr - но она не совсем подойдет, т.к. возвращает указатель на строку, а не позицию символа.
rrrFer вне форума Ответить с цитированием
Старый 20.07.2011, 09:40   #9
Сtrl
C++
Форумчанин
 
Аватар для Сtrl
 
Регистрация: 27.03.2011
Сообщений: 803
По умолчанию

Цитата:
Зачем советовать вектор, если ТС спрашивает про массив символов(строку)? - чем std ::string не подходит?
Семантически есть разница между строкой и массивом символов. А автор пишет:
Цитата:
Сообщение от firephenix Посмотреть сообщение
Например: есть массив символов chr S[12]="01234657896"
Хотя, конечно, string тоже решает указанные проблемы.
Ищете информацию по C++?
cplusplus.com
Сtrl вне форума Ответить с цитированием
Старый 20.07.2011, 10:15   #10
rrrFer
Санитар
Старожил
 
Аватар для rrrFer
 
Регистрация: 04.10.2008
Сообщений: 2,577
По умолчанию

Цитата:
Сообщение от Сtrl Посмотреть сообщение
Семантически есть разница между строкой и массивом символов. А автор пишет:
Цитата:
Сообщение от firephenix Посмотреть сообщение
Например: есть массив символов chr S[12]="01234657896"
Он же не пишет:
Код:
char S[12] = {'0', '1', '2', ...};
а пишет строку в кавычках. Страуструп пишет:
Цитата:
строковым литералом называется последовательность символов, заключенная в кавычки
причем тут вектор?
find определен в <algorithm>, и да - для вектора его тоже можно использовать. Если поясните чем vector< char > может быть лучше string - то я буду рад.

Вообще пора нам заканчивать оффтопить, т.к. по-любому ТС искал функцию из string.h.
rrrFer вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Нужно отобразить количество символов до определённого символа Dimidrolus Помощь студентам 17 26.06.2011 21:20
Подсчёт количества символов в массиве .antony. Помощь студентам 0 09.06.2011 20:43
Подсчёт символов в массиве Pecho Помощь студентам 12 25.11.2010 15:39
TStringList Замена символа на ряд символов. Alex Cones Общие вопросы Delphi 17 23.03.2010 20:00
Побитовое чтение символа из таблицы символов в BIOSe Viriat Общие вопросы C/C++ 0 10.01.2010 17:26