>fprintf (*arq,......
The first of fprintf() is a FILE*. Now, normally you wouldn't pass one of those around by reference, only by value (unless you actually wanted to assign it a new value). So, I'm guessing your use is incorrect.
So, it might look like this:
Code:
void func1(void)
{
FILE *fp;
fp = fopen("myfile.txt", "w");
/* Do some error checking */
func2(fp, "this text");
fclose(fp);
}
void func2(FILE *myfp, char Message[])
{
func3(myfp, Message);
}
void func3(FILE *anotherfp, char Message[])
{
fprintf(anotherfp, "%s", Message);
}
Without seeing more of your code its hard to tell what's wrong.