我需要将程序保存到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");
}
答案 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,......数字输出之后运行该语句。