Hi! Its my first post on forum. I have problem - to illustrate it ill add some lines in c:

Code:
#include <stdio.h>
#include <stdlib.h>

main (int argc, char *argv[])
{
 FILE *out0,*out1,*out2,*out3,*out4;
 double alfa,omega,k0,c;
 char filtemp [128];

sprintf(filtemp,"a%3.1lfW%3.1lfk%3.1lfBA%3.1lfsignature.dat",alfa,omega,k0,c);
 if(!(out0=fopen(filtemp,"w")))
 {
  printf("Can't open %s file!",filtemp);
  exit(0);
 }

 sprintf(filtemp,"a%3.1lfW%3.1lfk%3.1lfBA%3.1lfpotential.dat",alfa,omega,k0,c);
 if(!(out1=fopen(filtemp,"w")))
 {
  printf("Can't open %s file!",filtemp);
  exit(0);
 }

 sprintf(filtemp,"a%3.1lfW%3.1lfk%3.1lfBA%3.1lfderivative.dat",alfa,omega,k0,c);
 if(!(out2=fopen(filtemp,"w")))
 {
  printf("Can't open %s file!",filtemp);
  exit(0);
 }
 
 sprintf(filtemp,"a%3.1lfW%3.1lfk%3.1lfBA%3.1lfresults.dat",alfa,omega,k0,c);
 if(!(out3=fopen(filtemp,"w")))
 {
  printf("Can't open %s file!",filtemp);
  exit(0);
 }
 
 fprintf(out0,"test");
 fprintf(out1,"test");
 fprintf(out2,"test");
 fprintf(out3,"test");
 
 fclose(out0);
 fclose(out1);
 fclose(out2);
 fclose(out3);

 return 0;
}
Everything works without problem, but when I tried to short upper code, I wrote following:

Code:
#include <stdio.h>
#include <stdlib.h>

void filemaker(FILE *plik, char plik_nw[128], double alfa, double omega, double k0, double c)
{
 char filtemp [128]; 
 sprintf(filtemp,"a%3.1lfW%3.1lfk%3.1lfBA%3.1lf%s.dat",alfa,omega,k0,c,plik_nw);
 if(!(plik=fopen(filtemp,"w")))
 {
  printf("Can't open %s file!",filtemp);
  exit(0);
 }
}

main (int argc, char *argv[])
{
 FILE *out0,*out1,*out2,*out3,*out4;
 double alfa,omega,k0,c;
 char filtemp [128];
 alfa=omega=k0=c=1;
 filemaker(out0,"signature",alfa,omega,k0,c);
 filemaker(out1,"potential",alfa,omega,k0,c);
 filemaker(out2,"derivative",alfa,omega,k0,c);
 filemaker(out3,"results",alfa,omega,k0,c);   
 
 fprintf(out0,"test");
 fprintf(out1,"test");
 fprintf(out2,"test");
 fprintf(out3,"test");
 
 fclose(out0);
 fclose(out1);
 fclose(out2);
 fclose(out3);

 return 0;
}


Unfortunately after running program error occurs. I only know that it occurs on lines 26-29 - when program tries to write lines to files... debugger showed following information: "an access violation (segmentation fault) raised in your program".

After googling I found that its all about pointers, but really I never before worked on them. Can anybody help me?