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

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

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 05.06.2013, 10:31   #1
NewLamer&Programer
Форумчанин
 
Регистрация: 23.11.2012
Сообщений: 428
По умолчанию Поиск подстроки в символьном массиве

подскажите пожалуйста как реализовать поиск подстроки в символьном массиве? есть массив структур, поля которых представляют собой массивы символов, например char Mas[100]. На вход в функцию дается такая же переменная типа char In[100]; и нужное поле в структуре. Необходимо найти найти ее в массиве структур в нужном поле и вернуть значением функции, если не найдено вернуть пустую строку. Подскажите пожалуйста как это можно реализовать? может есть готовые функции которые можно задействовать?
NewLamer&Programer вне форума Ответить с цитированием
Старый 05.06.2013, 10:56   #2
NewLamer&Programer
Форумчанин
 
Регистрация: 23.11.2012
Сообщений: 428
По умолчанию

сделал вот так:
Код:
int Search(TPhoneBook *PB, int COUNT, char Text[100], int MainField, int SubField)
{
	for (int i = 0; i < COUNT-1; i++)
	switch(MainField)
	{
		case 1: if (PB[i].Family = Text) return i;
		case 2: if (PB[i].Name = Text) return i;
		case 3: if (PB[i].Patronymic = Text) return i;
		case 4: switch(SubField)
				{
					case 1: if (PB[i].Phone.Home = Text) return i;
					case 2: if (PB[i].Phone.Work = Text) return i;
					case 3: if (PB[i].Phone.Mobile = Text) return i;
				}
		case 5: switch(SubField)
				{
					case 1: if (PB[i].Address.Country = Text) return i;
					case 2: if (PB[i].Address.City = Text) return i;
					case 3: if (PB[i].Address.Street = Text) return i;
					case 4: if (PB[i].Address.N_Home = Text) return i;
					case 5: if (PB[i].Address.N_Apartment = Text) return i;
				}
		case 6: if (PB[i].Email = Text) return i;
	}
}
только ошибки error C2440: =: невозможно преобразовать 'char []' в 'char [100]'
NewLamer&Programer вне форума Ответить с цитированием
Старый 05.06.2013, 11:28   #3
NewLamer&Programer
Форумчанин
 
Регистрация: 23.11.2012
Сообщений: 428
По умолчанию

все допер ! вечно я путаю Си с Делфи тут же равно это ==, а не =, исправил, теперь работает
NewLamer&Programer вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Строки и указатели в символьном массиве. C++ ilyaserebrickov Помощь студентам 1 26.10.2012 10:51
Замена слов в символьном массиве с++ ys920213 Помощь студентам 3 21.11.2011 20:31
Замена слов в символьном массиве с++ ys920213 Помощь студентам 0 21.11.2011 17:10
Поиск подстроки в строке videolord Общие вопросы по Java, Java SE, Kotlin 2 10.04.2011 09:11
Поиск подстроки int 20h Win Api 2 09.08.2010 20:37