Code:
#include <stdio.h>
#include <math.h>
#include <stdlib.h>
#include <string.h>
int main(int argc, char* argv[])
{
FILE *data,*loco;
char buffer[1001],original_name[60],final_name[60],temporary_name[60],final_temp_name[60];
float wavelength, signal, reference,normalized;
int i,number_of_files;
printf("Enter the number of files\n");
scanf("%d",&number_of_files);
printf("original filename?\n");
scanf("%s",&original_name);
printf(" destination filename?\n");
scanf("%s",&final_name);
strcpy(temporary_name,original_name);
strcpy(final_temp_name,final_name);
for(i=1;i<=number_of_files;i++)
{
if(i<10){
sprintf(original_name,"%s000%d.asc",temporary_name,i);
data = fopen(original_name,"r");
puts(original_name);
sprintf(final_name,"%s%d.dat",final_temp_name,i);
loco = fopen(final_name,"w");
}
else
{
sprintf(original_name,"%s00%d.asc",temporary_name,i);
data = fopen(original_name,"r");
puts(original_name);
sprintf(final_name,"%s%d.dat",final_temp_name,i);
loco = fopen(final_name,"w");
}
fgets(buffer, 1000, data);
while(feof(data) == 0)
{ /*read some data, lets process it.*/
/*extract individual values from the buffer*/
sscanf(buffer, "%f%f%f", &wavelength, &signal, &reference);
/*calculate the normalized spectrum*/
normalized = signal/reference;
/*outputs data to data file*/
fprintf(loco,"%f %f\n",wavelength,normalized);
/*read the next line from the file*/
fgets(buffer, 1000, data);
}
fclose(loco);
fclose(data);
}
return 0;
}