Форум программистов, компьютерный форум, киберфорум
Наши страницы

C для начинающих

Войти
Регистрация
Восстановить пароль
 
Nooby1
0 / 0 / 0
Регистрация: 15.05.2013
Сообщений: 32
#1

Метод lfind(), как правильно написать метод сравнения? - C (СИ)

10.10.2013, 11:17. Просмотров 565. Ответов 2
Метки нет (Все метки)

Всем привет. У меня задача предельно проста. Есть массив
C
1
    char M[100][80];
, В него пихаем всё, что содержится в файле
C
1
2
3
4
5
while(!(feof(f)))
        {
            fgets(M[i],100,f);
            i++;
        }
С этим всё хорошо. Но потом по введённой пользователем строке, надо определить, является ли она подстрокой какой нибудь из строк в M[][], и сделать это с помощью функции lfind();
Я делаю так, где str - введённая пользователем подстрока, size_t num = 5 - всего 5 строк в М. Однако я видимо реализую comp не так, поскольку он всё время печатает null.
C
1
2
3
4
5
6
7
8
9
10
for(int i=0;i<num;i++)
    {
    printf("%s",(char*) lfind(str,M,&num,sizeof(char),comp));
    }
}
int comp (const void* ch, const void* s)
{
    if (strcmp((char*)ch,(char*)s)==0) return 0;
    else return -1;
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
10.10.2013, 11:17
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Метод lfind(), как правильно написать метод сравнения? (C (СИ)):

Метод левых прямоугольников и метод Симпсона для вычисления интеграла - C (СИ)
Составить программу для исчисления интеграла с n количеством интервалов интегрирования. 2 методами; Метод левых прямоугольников и метод...

Как правильно считать строку для сравнения? - C (СИ)
как правильно считать строку для сравнения ?

Обычный метод перевести в метод Ньютона - C (СИ)
Здравствуйте, дорогие форумчане. Имеется код программы, считающей корень функции 0,3arctgx-x-1 обычным школьным методом. #include...

Правильно оформить двумерный динамический массив. Программа "метод Гаусса" - C (СИ)
Здравствуйте. Помогите правильно оформить двумерный динамический массив float A.Ругается компилятор. Программа &quot;метод Гауса&quot;. ...

Метод пузырька оформить как отдельную функцию - C (СИ)
Дана последовательность чисел A размерности N. Выбрать среди них числа больше заданного числа в последовательность B и расположить их по...

Как правильно написать? - C (СИ)
for (int i=0; i&lt;5; i++) obj.izfila(&quot;file&quot;.i.&quot;.txt&quot;); Как правильно написать, что бы идя по циклу менялось название файла?...

2
XZentus
201 / 199 / 41
Регистрация: 06.10.2013
Сообщений: 552
10.10.2013, 12:08 #2
счетчик цикла - i, а в lfind передается num, такой индекс, насколько я понимаю, вообще за пределами массива.
0
Nooby1
0 / 0 / 0
Регистрация: 15.05.2013
Сообщений: 32
10.10.2013, 15:25  [ТС] #3
Пробовал через while(!feof(f)), тоже самое - одни нуллы
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
10.10.2013, 15:25
Привет! Вот еще темы с ответами:

Как правильно написать функцию - C (СИ)
Доброго времени суток. Помогите разобраться. есть такая функция: void auto_motion_down(int m) { int x; if (A&gt;83) { ...

Написать три алгоритма решения СЛАУ: Метод прогонки, метод квадратных корней, метод вращений - C#
Начал писать курсовую. Нужно написать три алгоритма решения СЛАУ: прогонки, квадратных корней, вращений. С методом прогонки более менее...

Как правильно написать метод для обновления записи, чтобы он возвращал объект? - Java EE
public Competition updateCompetition(Long id, Integer point, Integer place){ Query q =...

СЛАУ. Метод обратной матрицы, метод Гаусса, метод Крамера, метод Зейделя - C++
Помогите ребят. Не могу построить алгоритмы для этих методов Язык C++


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

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