C程序:在文本文件中打印2行数

时间:2014-12-11 18:03:15

标签: c file numbers row

我需要将程序保存到txt文件的程序,但数字必须是2行。 现在我有这个代码,但如何打印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");
}

2 个答案:

答案 0 :(得分:1)

也许将函数writeText改为像这样的

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

答案 1 :(得分:0)

fprintf(fp,"\n");语句(在writeText()内)是导致输出中断行的原因。你应该想办法在第2,第4,第6,......数字输出之后运行该语句。