2014-12-11 2 views
2

Мне нужна программа c, которая сохраняет номера в txt-файле, но числа должны быть 2 в строке. На данный момент у меня есть этот код, но как печатать числа 2 в строке. Я действительно надеюсь, что кто-то может помочь мне в этой проблеме.C программа: распечатать в текстовом файле 2 числа в строке

#include <stdio.h> 
#include <conio.h> 
#include <string.h> 
#include <windows.h> 
#include <ctype.h> 
#define max 80 
#define n 30 
#define space ' ' 
void inputText(char text[][max], int *len); 
void writeText(FILE *fp, char *text); 
int main(){ 
    char text[n][max]; 
    int i=0, len=0; 
    FILE *fp=NULL; 
    SetConsoleCP(1251); 
    SetConsoleOutputCP(1251); 
    inputText (text,&len); 
    fp=fopen("test.txt", "a"); 
    if(fp!=NULL) 
    for (i=0;i<len;i++) 
    writeText (fp, text[i]); 
    else 
    printf("Error!"); 
    fclose(fp); 
    return 0; 
} 
void inputText(char text[][max], int *len) 
{ char ch; 
    int i=0, s=0; 
printf("Input text:"); 
while ((gets(text[i]))!=NULL) 
{  i++; 
    (*len)++; 
} 
} 
void writeText(FILE *fp, char *text) 
{ fputs(text,fp); 
    fprintf(fp,"\n"); 
} 

ответ

0

fprintf(fp,"\n"); заявление (внутри writeText()), что делает разрывы строк в вашем выводе. Вы должны выяснить способ выполнения этого утверждения только после вывода номера 2, 4, 6, ....

1

Возможно изменить функцию WRITETEXT на что-то вроде этого

void writeText(FILE *fp, char *text, int current) 
{ fputs(text,fp); 
    if(current % 2 == 0) 
    { 
     fprintf(fp,"\n"); 
    } 
} 
+0

без изменения количества paramerters к WRITETEXT, вы можете определить статическую переменную внутри WRITETEXT и только выводить «\ п», если это правда, то variable =! variable, до конца функции. – shooper

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