sure - here it is
Code:
int i, j;
double x, y, z;
char line[4096];
FILE *fp;
fp = fopen ("abcd.gro", "r"); // reading
for (j=1; j<3; j++)
{
FILE *fp2;
char filename[32];
sprintf(filename, "%d.dat",j);
fp2 = fopen(filename, "w");
fgets(line, sizeof line, fp);
fgets(line, sizeof line, fp);
for (i=0; i<13968; i++)
{
fgets(line, sizeof line, fp);
if (sscanf(line, "%*f %*f %lf %lf %lf", &x, &y, &z) != 3)
{
printf("bad line: j=%d i=%d\[%s]\n", j, i, line);
//return EXIT_FALIURE;
}
if (i%4 != 3)//i need to print all but every 4th line
fprintf(fp2, "%.5f %.5f %.5f\n", x, y, z);
}
fgets(line, sizeof line, fp);
fclose(fp2);
}
and it works - but i didnt entirely get what you did.