1·只有一行数据输出
方法一:
#include<iostream>
#include<cstdlib>
//只有一行数据
int main()
{
FILE *fp=NULL;
int buff[255];
int i=0;
fp=fopen("liuliguang.txt","r");
while(fscanf(fp,"%d",&buff[i])!=EOF)
{
i++;
}
printf("%d\n",i);
for(int j=0;j<i;j++)
{
printf("%d\t",buff[j]);
}
return 0;
}
方法二:
#include<iostream>
#include<cstdlib>
//只有一行数据
int main()
{
FILE *fp=NULL;
int buff[255];
char c;
int i=0;
fp=fopen("liuliguang.txt","r");
while(1)
{
fscanf(fp,"%d",&buff[i]);
c=fgetc(fp);
if(c=='\n'||c==EOF)
{
break;
}
i++;
}
printf("%d\n",i);
for(int j=0;j<i;j++)
{
printf("%d\t",buff[j]);
}
return 0;
}
2-输出多行数据
#include<iostream>
#include<cstdlib>
//有多行数据
int main()
{
FILE *fp=NULL;
int buff[255];
fp=fopen("liu.txt","r");
char c;
int i=0;
while(1)
{
i=0;
while(1)
{
fscanf(fp,"%d",&buff[i]);
c=getc(fp);
if(c=='\n'||c==EOF)//EOF的意思是文件的末尾(最后一行没有换行符)
{
break;
}
i++;
}
for(int j=0;j<=i;j++)
{
printf("%d\t",buff[j]);
}
printf("\n");
if(c==EOF)
{
break;
}
}
return 0;
}
文章转载自:原文