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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 34, средняя оценка - 4.79
янгл
6 / 6 / 0
Регистрация: 23.07.2009
Сообщений: 237
#1

Функция поиска символа - C++

05.10.2010, 17:40. Просмотров 5071. Ответов 14
Метки нет (Все метки)

Всем привет. Есть ли в Си функция поиска символа, слова в строке? В паскале для этого есть pos();
Как определять строковый тип? String x;?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
05.10.2010, 17:40     Функция поиска символа
Посмотрите здесь:

Напишите функцию для поиска первого уникального символа в строке - C++
Пожалуйста! Напишите функцию для поиска первого уникального символа в строке(с пояснением пожалуйста)))

Написать программу поиска двух одинаковых подряд идущих символа в файле - C++
помогите пожалуйста!! напишите программу которая принимает с клавиатуры название файла и выводит на экран "Есть", если в файле...

Функция проверяющая тип символа - C++
Составить процедуру, результатом работы которой является истинное значение, если символ, заданный при обращении к процедуре, – буква, и...

Функция проверяющая регистр символа - C++
Здравствуйте! Подскажите пожалуйста, не совсем понятно условие задачи: Написать логическую функцию, которая получает символьный...

Функция проверки введенного символа - C++
Здравствуйте помогите написать функцию которая будет проверять правильный символ т.е чтобы если пользователь написал буквы или...

Функция перевода символа в цифру - C++
Здравствуйте! Хочу написать программу для перевода символа в цифру с помощью функции. int Func(char s) { if (s >='0' && s <='9') return...

Функция вставки символа в начало строки - C++
Здравствуйте,не подскажите как должна быть написана это функция Функция void insertOneSymb(char* str, char symb) получает строку, символ...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
obuhanoe
23 / 21 / 2
Регистрация: 25.08.2010
Сообщений: 93
05.10.2010, 17:44     Функция поиска символа #2
strstr

const char * strstr ( const char * str1, const char * str2 );
char * strstr ( char * str1, const char * str2 );
oxotnik
1586 / 1063 / 33
Регистрация: 21.08.2008
Сообщений: 4,545
Записей в блоге: 1
05.10.2010, 17:44     Функция поиска символа #3
http://www.cplusplus.com/reference/string/string/find/
PointsEqual
ниначмуроФ
834 / 518 / 33
Регистрация: 12.10.2009
Сообщений: 1,915
05.10.2010, 17:45     Функция поиска символа #4
Цитата Сообщение от янгл Посмотреть сообщение
Как определять строковый тип?
в С - char
в С++ - string
янгл
6 / 6 / 0
Регистрация: 23.07.2009
Сообщений: 237
05.10.2010, 17:59  [ТС]     Функция поиска символа #5
Так Char это ведь символьный тип, один байт. Или можно объявить переменную как char и впихать в неё строку? У меня борланд С++ и он ругается на string. Мне нужно запихать текстовый файл в строку.

strstr - это что? Строковый тип?
MILAN
885 / 779 / 86
Регистрация: 21.02.2009
Сообщений: 1,722
05.10.2010, 18:01     Функция поиска символа #6
Можно обявить массив символов char, ето и будет тебе строка!!!!
Nameless One
Эксперт С++
5769 / 3418 / 255
Регистрация: 08.02.2010
Сообщений: 7,444
05.10.2010, 18:04     Функция поиска символа #7
Цитата Сообщение от PointsEqual Посмотреть сообщение
в С - char
в С++ - string
Немного неточно. char - это символьный тип, char* - это "строковый тип"
oxotnik
1586 / 1063 / 33
Регистрация: 21.08.2008
Сообщений: 4,545
Записей в блоге: 1
05.10.2010, 18:05     Функция поиска символа #8
Цитата Сообщение от янгл Посмотреть сообщение
Так Char это ведь символьный тип, один байт. Или можно объявить переменную как char и впихать в неё строку? У меня борланд С++ и он ругается на string. Мне нужно запихать текстовый файл в строку.

strstr - это что? Строковый тип?
Код
char *a = "Hello World";

#include <string>
....
std::string = "Hello World";
янгл
6 / 6 / 0
Регистрация: 23.07.2009
Сообщений: 237
05.10.2010, 18:06  [ТС]     Функция поиска символа #9
MILAN, я так и делаю. Но существует проблема. Как определить размер массива. Я написал функцию производящую этот поиск, вот тут нужно определить размер массива.
Nameless One
Эксперт С++
5769 / 3418 / 255
Регистрация: 08.02.2010
Сообщений: 7,444
05.10.2010, 18:09     Функция поиска символа #10
Цитата Сообщение от янгл Посмотреть сообщение
strstr - это что? Строковый тип?
читай вниметельней. Это функция поиска в строке
янгл
6 / 6 / 0
Регистрация: 23.07.2009
Сообщений: 237
05.10.2010, 18:13  [ТС]     Функция поиска символа #11
То есть если написать так:
C
1
strstr(s,x);
то результатом выполнения функции будет номер позиции первого символа строки x в строке s, а если не найдено, то 0?
Nameless One
Эксперт С++
5769 / 3418 / 255
Регистрация: 08.02.2010
Сообщений: 7,444
05.10.2010, 18:16     Функция поиска символа #12
янгл, strstr возвращает указатель на позицию в строке или NULL, если подстрока в строке не найдена. Подробнее здесь
янгл
6 / 6 / 0
Регистрация: 23.07.2009
Сообщений: 237
05.10.2010, 18:20  [ТС]     Функция поиска символа #13
Я не совсем понимаю, что такое указатель. Это сам символ или номер символа?
Nameless One
Эксперт С++
5769 / 3418 / 255
Регистрация: 08.02.2010
Сообщений: 7,444
05.10.2010, 18:32     Функция поиска символа #14
янгл, это такая переменная, которая хранит адрес символа (здесь говорится про указатель на символ).
К примеру:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
char s = 'a'; // Символ
char *ps = &a; // Указатель на символ
// В С массивы реализованы через указатель. Строка - это массив символов
// признак конца строки - специальный символ '\0', он же нуль-терминатор (null-terminator).
// строки С также называются null-terminated string (т.е. строки, которые заканчиваются на нуль-терминатор)
// если инициализировать строки так, как показано ниже, то нуль-терминатор неявно вставляется в строку
// таким образом, на самом деле строка string имеет не 6 элементов ("abcdef"), а 7 ("abcdef\0"):
char *string = "abcdef"; // Строка С, она же указатель.
// Доступ к элементу, на который указывает указатель, осуществляется с помощью
// оператора разыменования "*":
 
// string указывает на первый элемент строки, т.е. на символ 'a'
// изменим его:
*string = 'z'; // Изменился и первый символ, и сама строка (теперь "zbcdef")
char *ps = string + 1; // Это указатель на второй символ ("b") и одновременно строка ("bcdef")
Это самые основы работы с указателями (и строками C). Я бы посоветовал обратиться к учебной литературе, чтобы прояснить этот вопрос, т.к. без понимания указателей не будет и понимания языка C.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
06.10.2010, 06:07     Функция поиска символа
Еще ссылки по теме:

Функция для определения% содержания символа в строке - C++
Функция подсчитывает %ое содержание прописных символов латинского алфавита от «а» до «z» в заданой строке содержащие англоязычный текст ,...

Функция поиска по стеку - C++
Здравствуйте, помогите написать функцию, которая будет искать, заданный с клавиатуры, элемент стека. Вот сам код с парой стандартных...

Функция поиска в файле - C++
Приветствие=) Нужно написать код на C++ который будит спрашивать поочередно название файла для чтения, город и часть города, примерно...

Функция / метод поиска - C++
У меня есть класс Person в который я ввожу информацию такую как: имя, фамилия, адрес, округ и тд. Мне нужно, функция, которая будет искать...

Функция сортировки и поиска - C++
Ужасная функция...неделю бился так ничего и не смог придумать...Само условие поставленное в задаче звучит так: &quot;Написать алгоритм,...


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

Или воспользуйтесь поиском по форуму:
accept
4820 / 3240 / 165
Регистрация: 10.12.2008
Сообщений: 10,682
06.10.2010, 06:07     Функция поиска символа #15
C++
1
2
3
4
5
6
7
char *string = "abcdef"; // Строка С, она же указатель.
// Доступ к элементу, на который указывает указатель, осуществляется с помощью
// оператора разыменования "*":
 
// string указывает на первый элемент строки, т.е. на символ 'a'
// изменим его:
*string = 'z'; // Изменился и первый символ, и сама строка (теперь "zbcdef")
как это изменим его ?

C
1
char *string = "abcdef";
"abcdef" - строковой литерал, строковая константа, а константу нельзя менять
и у Шилдта в справочнике есть пример вроде такого, где функция strtok, меняющая подаваемый массив, вызывается со строковым литералом
Yandex
Объявления
06.10.2010, 06:07     Функция поиска символа
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru