JamesThiago
JamesThiago

Reputation: 33

Write a .txt file in C

I'm trying to write in a file in a certain format, but when I open the file in Notepad, it's not as I want. If I decrease the size of the window (for Notepad), it becomes became as I want, but if I maximize a little bit, the format changes.

My code to generate the file is:

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

void main(){
    FILE *fp,*fp2;
    int i=0;
    int num1,num2,num3,num4,num5,num6,num7,num8,num9,num10,num11,num12;
    fp=fopen("treino01.bin","r");
    fp2=fopen("treino02.txt","w");

    fprintf(fp2,"ESTC\tNDEP\tRENDA\tTIPOR\tVBEM\tNPARC\tVPARC\tTEL\tIDADE\tRESMS\tENTRADA\tCLASSE\n",num1,num2,num3,num4,num5,
                    num6,num7,num8,num9,num10,num11,num12);
    while( (fscanf(fp, "%d\t%d\t%d\t%d\t%d\t%d\t%d\t%d\t%d\t%d\t%d\t%d\n", &num1, &num2, &num3, &num4, &num5, 
            &num6, &num7, &num8, &num9, &num10, &num11, &num12))!= EOF ){

        printf("%d,\t%d,\t%d,\t%d,\t%d,\t%d,\t%d,\t%d,\t%d,\t%d,\t%d,\t%d,\n",num1,num2,num3,num4,num5,num6,num7,num8,num9,num10,num11,num12);
        fprintf(fp2,"%d,\t%d,\t%d,\t%d,\t%d,\t%d,\t%d,\t%d,\t%d,\t%d,\t%d,\t%d,\n",num1,num2,num3,num4,num5,num6,num7,num8,num9,num10,num11,num12);


    }

    fclose(fp);
    fclose(fp2);
}

The first file file is like:

12 fields and each field is represented as a numbers, it's a table.

The second file is just read the first file and insert the comma after each number (1,).

What I need to do is just insert a comma after each number.

Upvotes: 0

Views: 235

Answers (1)

dlask
dlask

Reputation: 8982

Potential problem of line terminators on Windows. You can try this:

fp2 = fopen("treino02.txt", "wt");

Please note the "t" in the mode parameter.

Upvotes: 1

Related Questions