c++怎么把文件每行每个数都存入数组(从第二行开始)。
文件数据格式如下:123344556677889966999988778877661233445566778899......把每个数都存入数组data中怎么操作;还有行...
文件数据格式如下:
12 33 44 55 66 77 88 99
66 99 99 88 77 88 77 66
12 33 44 55 66 77 88 99
......
把每个数都存入数组data中怎么操作;还有行数大概有几万行,所以应该需要动态数组。 展开
12 33 44 55 66 77 88 99
66 99 99 88 77 88 77 66
12 33 44 55 66 77 88 99
......
把每个数都存入数组data中怎么操作;还有行数大概有几万行,所以应该需要动态数组。 展开
2个回答
展开全部
#include<stdio.h>
int main()
{
int *a;
char s[200];
FILE *fin;
int i,n=0;
fin=fopen("a.txt","r");
fgets(s,200,fin); //跳过一行
while(1){
fscanf(fin,"%*d");
if (feof(fin))break;
n++; // 统计需要的存放数据个数
}
printf("n=%d\n",n);
a = (int *) malloc(sizeof(int)*n); // 动态分配
if (!a) {printf("no enough memory\n");return 0;};
rewind(fin); //回绕文件
fgets(s,200,fin); //跳过一行
for (i=0;i<n;i++) fscanf(fin,"%d",&a[i]); //读取数据
fclose(fin); //关闭文件
for (i=0;i<10;i++) printf("%d ",a[i]); printf("\n"); //输出开始的10个数据
for (i=n-10;i<n;i++) printf("%d ",a[i]); //输出结尾的10 个数据 供 校对
return 0;
}
int main()
{
int *a;
char s[200];
FILE *fin;
int i,n=0;
fin=fopen("a.txt","r");
fgets(s,200,fin); //跳过一行
while(1){
fscanf(fin,"%*d");
if (feof(fin))break;
n++; // 统计需要的存放数据个数
}
printf("n=%d\n",n);
a = (int *) malloc(sizeof(int)*n); // 动态分配
if (!a) {printf("no enough memory\n");return 0;};
rewind(fin); //回绕文件
fgets(s,200,fin); //跳过一行
for (i=0;i<n;i++) fscanf(fin,"%d",&a[i]); //读取数据
fclose(fin); //关闭文件
for (i=0;i<10;i++) printf("%d ",a[i]); printf("\n"); //输出开始的10个数据
for (i=n-10;i<n;i++) printf("%d ",a[i]); //输出结尾的10 个数据 供 校对
return 0;
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询