Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.83/78: Рейтинг темы: голосов - 78, средняя оценка - 4.83
6 / 6 / 0
Регистрация: 23.07.2009
Сообщений: 237
1

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

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

Author24 — интернет-сервис помощи студентам
Всем привет. Есть ли в Си функция поиска символа, слова в строке? В паскале для этого есть pos();
Как определять строковый тип? String x;?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
05.10.2010, 17:40
Ответы с готовыми решениями:

Функция поиска в массиве и указатели + функция сортировки и поиск найденного элемента
Написать функцию поиска максимального элемента, передать в неё указатель на начало и конец поиска и...

Функция поиска в массиве и указатели + функция сортировки
Написать функцию поиска максимального элемента, передать в неё указатель на начало и конец поиска и...

Функция искать от определенного символа до другого символа
Доброго времени суток. Ребят подскажите пожалуйста как сделать такую функцию - Найти в ячейке слово...

Выводит ли результаты поиска стандартная функция поиска в html? Код привел ниже
При обращении к стандартному поиску в html, код которого приведен ниже, будут ли выводится...

14
23 / 21 / 5
Регистрация: 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 );
1
1665 / 1134 / 80
Регистрация: 21.08.2008
Сообщений: 4,734
Записей в блоге: 1
05.10.2010, 17:44 3
http://www.cplusplus.com/refer... ring/find/
0
ниначмуроФ
851 / 535 / 110
Регистрация: 12.10.2009
Сообщений: 1,913
05.10.2010, 17:45 4
Цитата Сообщение от янгл Посмотреть сообщение
Как определять строковый тип?
в С - char
в С++ - string
0
6 / 6 / 0
Регистрация: 23.07.2009
Сообщений: 237
05.10.2010, 17:59  [ТС] 5
Так Char это ведь символьный тип, один байт. Или можно объявить переменную как char и впихать в неё строку? У меня борланд С++ и он ругается на string. Мне нужно запихать текстовый файл в строку.

strstr - это что? Строковый тип?
0
899 / 793 / 186
Регистрация: 21.02.2009
Сообщений: 1,722
05.10.2010, 18:01 6
Можно обявить массив символов char, ето и будет тебе строка!!!!
0
Эксперт С++
5828 / 3479 / 358
Регистрация: 08.02.2010
Сообщений: 7,448
05.10.2010, 18:04 7
Цитата Сообщение от PointsEqual Посмотреть сообщение
в С - char
в С++ - string
Немного неточно. char - это символьный тип, char* - это "строковый тип"
1
1665 / 1134 / 80
Регистрация: 21.08.2008
Сообщений: 4,734
Записей в блоге: 1
05.10.2010, 18:05 8
Цитата Сообщение от янгл Посмотреть сообщение
Так Char это ведь символьный тип, один байт. Или можно объявить переменную как char и впихать в неё строку? У меня борланд С++ и он ругается на string. Мне нужно запихать текстовый файл в строку.

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

#include <string>
....
std::string = "Hello World";
0
6 / 6 / 0
Регистрация: 23.07.2009
Сообщений: 237
05.10.2010, 18:06  [ТС] 9
MILAN, я так и делаю. Но существует проблема. Как определить размер массива. Я написал функцию производящую этот поиск, вот тут нужно определить размер массива.
0
Эксперт С++
5828 / 3479 / 358
Регистрация: 08.02.2010
Сообщений: 7,448
05.10.2010, 18:09 10
Цитата Сообщение от янгл Посмотреть сообщение
strstr - это что? Строковый тип?
читай вниметельней. Это функция поиска в строке
1
6 / 6 / 0
Регистрация: 23.07.2009
Сообщений: 237
05.10.2010, 18:13  [ТС] 11
То есть если написать так:
C
1
strstr(s,x);
то результатом выполнения функции будет номер позиции первого символа строки x в строке s, а если не найдено, то 0?
0
Эксперт С++
5828 / 3479 / 358
Регистрация: 08.02.2010
Сообщений: 7,448
05.10.2010, 18:16 12
янгл, strstr возвращает указатель на позицию в строке или NULL, если подстрока в строке не найдена. Подробнее здесь
0
6 / 6 / 0
Регистрация: 23.07.2009
Сообщений: 237
05.10.2010, 18:20  [ТС] 13
Я не совсем понимаю, что такое указатель. Это сам символ или номер символа?
0
Эксперт С++
5828 / 3479 / 358
Регистрация: 08.02.2010
Сообщений: 7,448
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.
1
4866 / 3288 / 468
Регистрация: 10.12.2008
Сообщений: 10,570
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, меняющая подаваемый массив, вызывается со строковым литералом
0
06.10.2010, 06:07
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
06.10.2010, 06:07
Помогаю со студенческими работами здесь

Алгоритм поиска символа в строке
Здравствуйте, помогите, пожалуйста решить задание Напишите алгоритм поиска символа в строке и...

Изменение поиска символа в строке
здравствуйте, хотел попросить у вас помощи имеется такой код: #include &quot;stdafx.h&quot; #include...

Поиска слова с наибольшим вхождением символа
Мы в Edit пишем символ например &quot;А&quot; в Memo добавляем слова: (Андрей, Машина, Кактус) при нажатии на...

Ошибка при поиска символа '/' в строке
Здравствуйте. Начал изучать Web-программирование. Есть страничка, в ней вставка javascript. В этой...


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

Или воспользуйтесь поиском по форуму:
15
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru