PDA

Visualizza la versione completa : [C] conflicting types


Megrecor
16-11-2009, 12:36
salve a tutti, io ho questo programma che ho preso paro paro da un libro conforme al ANSI C ma mi dice che ci sono dei conflitti ,potresti aiutarmi cortesemente.


tomasz@tomasz-laptop:/media/Dati/Programmazione/1.9$ cc 1.9.c
1.9.c:4: error: conflicting types for ‘getline’
/usr/include/stdio.h:651: note: previous declaration of ‘getline’ was here
1.9.c:29: error: conflicting types for ‘getline’
/usr/include/stdio.h:651: note: previous declaration of ‘getline’ was here

###########################################


#include <stdio.h>
#define MAXLINE 1000 // massima lungezza di una riga di imput

int getline(char line[],int maxline);
void copy(char to[], char from[]);

//visualizza la riga piu lunga del testo in ingresso
main()
{
int len; //lungezza della riga corrente
int max; // kungezza massima riconosciuta fino ora
char line[MAXLINE]; // riga corrente
char longest[MAXLINE]; // contiene la riga piu lunga fino ora trovata

max=0;
while ((len = getline(line, MAXLINE)) > 0 )
if (len > max ) {
max=len;
copy(longest, line);
}
if (max > 0) // c'era almeno una riga di ingresso
printf("%s",longest);
return 0;
}

//getline: legge una linea di ingresso ,la assengna a s,ne restituisce
//la lungezza.

int getline(char s[],int lim)
{
int c, i;

for (i=0; i < lim-1 && (c=getchar()) != EOF && c !='\n'; ++i)
s[i] = c;
if (c == '\n') {
s[i] = c;
++i;
}
s[i] = '\0';
return i;
}

//copy: coppia la stringa 'from' sulla stringa 'to';assumendo che 'to'
//sia sufficentemente lunga.
void copy(char to[], char from[])
{
int i;

i=0;
while ((to[i] = from[i]) != '\0')
++i;
}

MItaly
16-11-2009, 14:51
La funzione getline esiste già, ed è una funzione di libreria definita in stdio.h; rinomina la tua.

Megrecor
16-11-2009, 15:05
grazie MItaly, funzionaaaaaa :love:

MItaly
16-11-2009, 15:56
:ciauz:

Loading