Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/file/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C程序:在文本文件中打印两行数字_C_File_Numbers_Row - Fatal编程技术网

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

C程序:在文本文件中打印两行数字,c,file,numbers,row,C,File,Numbers,Row,我需要的c程序,它保存的数字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 in

我需要的c程序,它保存的数字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");
}
#包括
#包括
#包括
#包括
#包括
#定义最大值80
#定义n30
#定义空间“”
无效输入文本(字符文本[][max],整数*长度);
void writeText(文件*fp,字符*text);
int main(){
字符文本[n][max];
int i=0,len=0;
FILE*fp=NULL;
SetConsoleCP(1251);
SetConsoleOutputCP(1251);
输入文本(文本和len);
fp=fopen(“test.txt”,“a”);
如果(fp!=NULL)

for(i=0;ifprintf(fp,“\n”);
语句(在
writeText()内部)是导致输出中出现换行的原因。您应该找到一种方法,仅在第2、4、6、…个数字输出之后运行该语句。

也许可以将函数writeText更改为类似的形式

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

如果不将参数的数量更改为writeText,则可以在writeText中定义静态变量,并在函数结束前仅输出一个“\n”值(如果为true),然后输出变量=!variable)。