Форум программистов, компьютерный форум, киберфорум
Наши страницы
C для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.67/18: Рейтинг темы: голосов - 18, средняя оценка - 4.67
rozunfox
0 / 0 / 0
Регистрация: 24.02.2015
Сообщений: 1
1

Error:conflicting types for 'getline'

24.02.2015, 17:18. Просмотров 3417. Ответов 6
Метки нет (Все метки)

Здравствуйте.
В программе выскакивает ошибка
error : conflicting types for 'getline'
Объясните в чем причина пожалуйста

Программа:
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
#include <stdio.h>
 
#define LIM 80
#define MAXLINE 1000
 
int getline(char s[], int limit);
 
int main()
{
    int len;
    char line[MAXLINE];
 
    while((len = getline(line, MAXLINE)) > 0)
        if(len > 80)
            printf("%s",line);
 
    return 0;
}
 
int getline(char s[], int limit){
    int c , i;
 
    for( i = 0; (c = getchar()) != EOF && i < limit - 1 && c != '\n'; i++)
        s[i] = c;
    if(c == '\n'){
        s[i] = c;
        i++;
    }
    s[i] = '\0';
    return i;
}

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
24.02.2015, 17:18
Ответы с готовыми решениями:

Conflicting types for ‘getline’
Вот код который работает на Windows, использую CLion #include &lt;stdio.h&gt; ...

Conflicting types в СИ
Добрый вечер. Возникла проблема, застопорился на ней, объясните пожалуйста:...

Ошибка conflicting types
Из-за чего и как ее исправить? #include &lt;stdbool.h&gt; #include &lt;stdio.h&gt;...

error C2371: 'printd': redefinition;different basic types.
Здравствуйте. В программе выскакивает ошибка error C2371: 'printd':...

Error: incompatible types when assigning to type 'float' from type 'float (*)
Я написал программу. Она работала, пока я не ввел свои функции PmaxA1 и PmaxB1...

6
easybudda
Модератор
Эксперт CЭксперт С++
10148 / 6055 / 1522
Регистрация: 25.07.2009
Сообщений: 11,476
24.02.2015, 17:27 2
rozunfox, есть библиотечная функция getline. Обзовите свою по-другому как-нибудь (my_getline к примеру...)
2
user03
1 / 1 / 0
Регистрация: 04.01.2018
Сообщений: 13
02.03.2018, 23:38 3
Такая же проблема с

quantity_elevators, она же QRAE, она же quantity_records_about_elevators

C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
int QRAE(FILE * file_pointer, struct elevator record); // функция, считывающая количество записей размера структуры "elevator" из открытого файла "* file" 
 
void main()
{
 
}
 
int QRAE(FILE * file_pointer, struct elevator record) // функция, считывающая количество записей размера структуры "elevator" из открытого файла потока file_pointer
{
    int count = 0;
    fseek(file_pointer, 0L, SEEK_SET);
    
    while(!feof(file_pointer))
    {
        fread(&record, sizeof(record), 1, file_pointer);
        count++;
    }
    
    return count++;
}
Добавлено через 53 секунды
в чём ещё может быть проблема?

Добавлено через 48 минут
easybudda, хелп
0
easybudda
Модератор
Эксперт CЭксперт С++
10148 / 6055 / 1522
Регистрация: 25.07.2009
Сообщений: 11,476
02.03.2018, 23:39 4
Цитата Сообщение от user03 Посмотреть сообщение
Такая же проблема с
quantity_elevators, она же QRAE, она же quantity_records_about_elevators
Точно не на
Цитата Сообщение от user03 Посмотреть сообщение
void main()
ругается?
Правильно
C
1
2
3
4
int main(void) {
    //...
    return 0;
}
Текст ошибки, компилятор, ОС указать тоже не лишнее...
1
user03
1 / 1 / 0
Регистрация: 04.01.2018
Сообщений: 13
02.03.2018, 23:45 5
easybudda, , DevC++ :d

9 51 [Warning] 'struct elevator' declared inside parameter list
9 51 [Warning] its scope is only this definition or declaration, which is probably not what you want
81 5 [Error] conflicting types for 'quantity_elevators'
9 5 [Note] previous declaration of 'quantity_elevators' was here


C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
#include <stdio.h>
#include <stdlib.h>
#include <locale.h>
#include <conio.h>
 
// раздел объявления функций
 
void next_line (int number); // перевод строки number раз; создание (number - 1) пустых строк.
int quantity_elevators(FILE * file_stream, struct elevator record); // функция, считывающая количество записей размера структуры "elevator" из открытого файла потока file_stream 
 
// раздел объявления глобальных переменных
 
struct elevator
{
    int silo_code, code_culture, t_weight, type;
    float humidity /* влажность */, vitreous /* Стекловидноcть */;
    int group_gluten /* группа клейковины */; 
    float content_gluten /* содержание клейковины */;
    int natural_mass;
    float grain_admixture /* Зерновая примесь */, weed_admixture /* Сорная примесь */;
} silo_pointer;
 
FILE * file_pointer;
 
// главная функция
 
void main()
{
    setlocale(LC_ALL, "Russian");
    
    
    
    file_pointer = fopen ("log.txt", "at+");
    char menu_key[4];
    if (file_pointer == NULL)
    {
        printf("Ошибка при открытии файла log.txt в режиме at+ ");
        exit(0);
    }
    
    while(1)
    {
        printf("Введите ""exit"" для выхода из программы."); next_line(1);
        scanf("%s",&menu_key);
        system("cls");
        if (!strcmp(menu_key,"exit")) /* strcmp - библиотечная функция, сравнивающая строку 1 со строкой 2 и возращающая ноль в случаи совпадения; */
            exit(0);
        else
        {
            printf("Неверно введён пункт меню!"); next_line(1);
            printf("Введённое значение: %s", menu_key); next_line(1);
        }
    }
    
    fclose(file_pointer);
}
 
// раздел описания функций
 
print_informations_about_elevators() // функция, выводящая существующие записи об элеваторах
{
    fseek(file_pointer, 0L, SEEK_SET);
 
    while(!feof(file_pointer))
    {
        fread(&silo_pointer, sizeof(silo_pointer), 1, file_pointer);
        printf("");
    }
}
 
// малообъёмные вспомогательные функции
 
void next_line (int number) // перевод строки number раз; создание (number - 1) пустых строк.
{
    int i;
    for (i = 0; i < number; i++)
    printf("\n");
}
 
 
int quantity_elevators(FILE * file_stream, struct elevator record) // функция, считывающая количество записей размера структуры "elevator" из открытого файла потока file_stream
{
    int count = 0;
    fseek(file_stream, 0L, SEEK_SET);
    
    while(!feof(file_stream))
    {
        fseek(file_stream, sizeof(record), SEEK_CUR);
        count++;
    }
    
    return count;
}
0
easybudda
Модератор
Эксперт CЭксперт С++
10148 / 6055 / 1522
Регистрация: 25.07.2009
Сообщений: 11,476
02.03.2018, 23:58 6
user03, описание структуры перенесите перед объявлением функции, в которой она параметром передаётся. Кроме того зачем передавать структуру по значению? Разумнее всё-таки указатель на её экземпляр...
Цитата Сообщение от user03 Посмотреть сообщение
char menu_key[4];
Вот это перед setlocale...
И всё-таки
C
1
int main(void)
1
user03
1 / 1 / 0
Регистрация: 04.01.2018
Сообщений: 13
03.03.2018, 00:08 7
easybudda, помогло, спасибо. Теперь я понял, конфликт каких типов был (наверное понял)
0
03.03.2018, 00:08
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
03.03.2018, 00:08

Too many types in declaration
#include &lt;stdio.h&gt; #include &lt;stdlib.h&gt; void textfile(int, FILE*); void...

Аналог cin.getline() на Си
Нужен аналог функции cin.getline( ). Если существует, то поведайте мне о нём,...

Incompatible types in assignment of 'double' to 'float [11]'
Написал небольшую прогу, но компилятор на нее ругается, я именно на float,...


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

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

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