[C] - wczytywanie plików, błąd przy kompilacji (MinGW)

Witam,

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);

}

Komunikaty o błędach:

Skopiowałem kody i sprawdziłem pod Dev-C++ (który jest zintegrowany z MinGW). Kompiluje bezproblemowo. Problem więc chyba nie leży w MinGW.

Spróbuj może oba inkludowane pliki wrzucić do tego samego katalogu, co główny? (ja tak kompilowałem)

Bo możliwe, że problem leży jakoś w momencie włączania tych dwóch plików?

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?

nr47 , dzięki, pomogło. Tylko nadal mnie zastanawia dlaczego w MV C++ 2008 EE kompilator nie wyrzucił żadnych błędów, a GCC tak?