求教关于文件的写入
为什么我写的代码无法把输出写进文件out.txt里面;下面是我的代码:
#include <stdio.h>
#include <stdlib.h>
int main()
{
FILE *out;
int flag=0;
int N_;
int i,j;
scanf("%d",&N_);
if((out=fopen("out.txt","w"))==NULL)
{
printf("Wrong!");
return (-1);
}
while(N_!=0)
{
if(N_%2==0)
{
for(i=1; i<=N_; i++)
{
if(flag==1&&N_!=0)
{fputc('\n',out); printf("\n");}
int k=1;
for (j=0; j<2*N_-1&&k<=2*N_-1; j++)
{
if (k<=N_-i)
{
fputc('\0',out); printf(" ");
k++;
}
else if (k>(N_-i)&&k<=(2*N_-1)-(N_-i))
{
fputc('+',out);printf("+");
k++;
}
else if(k>(2*N_-1)-(N_-i)&&k<=2*N_-1)
{
fputc(' ',out);printf(" ");
k++;}
flag=1;
}
}
}
else if(N_%2!=0)
{
for (i=N_;i>=1;i--)
{
if (flag==1&&N_!=0)
{fputc('\n',out);printf("\n");}
int k=1;
for(j=0;j<2*N_-1&&k<=2*N_-1;j++)
{
if(k<=N_-i)
{fputc(' ',out);printf(" ");
k++;}
else if(k>(N_-i)&&k<=(2*N_-1)-(N_-i))
{fputc('+',out);printf("+");
k++;}
else if(k>(2*N_-1)-(N_-i)&&k<=2*N_-1)
{fputc(' ',out);printf(" ");
k++;}
flag=1;
}
}
}
fputc('\n',out);printf("\n");
scanf("%d",&N_);
}
fclose(out);
return 0;
}