2015-05-31 4 views
0

Я пытаюсь записать файл в определенном формате, но когда я открываю файл в Блокноте, это не так, как я хочу. Если я уменьшу размер окна (для «Блокнота»), он станет таким, каким я хочу, но если я максимизирую немного, формат изменится.Запишите .txt файл в C

Мой код для создания файла является:

#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); 
} 

Первый файл файл как:

12 полей и каждое поле представлено как числа, это таблица.

Второй файл просто считывает первый файл и вставляет запятую после каждого номера (1).

Что мне нужно сделать, это просто вставить запятую после каждого номера.

+0

Если я понимаю вас, вы хотите сделать то же самое, что и вы, только то, что вы будете иметь его динамически, с несколькими номерами. Правильно? – user35443

+0

Правильно ли печатается функция printf с запятой? есть ли какая-нибудь ошибка? – Imran

+1

Если я понимаю, что вы просто хотите значения, разделенные запятой, во втором файле, а затем просто удалите вкладки '\ t'. Например, измените строку формата на ''% d,% d,% d,% d,% d,% d,% d,% d,% d,% d,% d,% d \ n "' –

ответ

1

Потенциальная проблема терминаторов строк в Windows. Вы можете попробовать:

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

Обратите внимание на «t» в параметре режима.

Смежные вопросы