Przy wczytywaniu dwóch plików kompilator wyrzuca mi błędy, dodam że na kompilując ten program na lapku w MV C++ 2008 EE nie ma żadnych błędów i program działa dobrze. Błędy są wyrzucane w CodeBlocks, kompilator GCC.
Program:
//program sprawdza dlugosc kolejnych wierszy i wybiera sposrod nich najdluzszy
#include
#include "pobierzlinie.h"
#include "kopiuj.h"
#define MAXDLUGOSC 1000
int main(){
int dlugosc, max;
char linia[MAXDLUGOSC];
char zapis[MAXDLUGOSC];
max = 0;
while((dlugosc = pobierzlinie(linia, MAXDLUGOSC)) > 0)
if (dlugosc > max){
max = dlugosc;
kopiuj(linia, zapis);}
if (max > 0)
printf("%s", zapis);
}
Plik kopiuj.h
kopiuj(s1, s2)
char s1[], s2[]; {
int i;
i = 0;
while ((s2[i] = s1[i]) != '\0')
++i;
}
Plik pobierzlinie.h
pobierzlinie(s, lim)
char s[];
int lim; {
int z, i;
for (i=0; i < lim - 1 && (z = getchar()) != '0' && z != '\n'; ++i)
s[i] = z;
if (z == '\n'){
s[i] = z;
++i;
}
s[i] = '\0';
return(i);
}
U mnie na gcc 4.4 też bez problemu. Mimo to może spróbuj zmienić nagłówki funkcji na void kopiuj(char s1[], char s2[]) i int pobierzlinie(char s[], int lim) – teoretycznie n nie powinno to mieć znaczenia, ale a nuż pomoże?