请问高手怎样将一个txt文件里的一系列整数输入到程序中的数组里?
例如,在文本文件里有这些整数0 2 1 0
0 1 0 0
0 0 0 0
0 0 1 0
请问怎样将它输入到一个数组a[4][4]里。
问题点数:90、回复次数:6Top
1 楼l_9526(哈哈)回复于 2005-06-02 00:19:27 得分 0
对了,上面的数组是对齐的Top
2 楼ddc(ddc)回复于 2005-06-02 00:39:38 得分 90
一个一个读了。
如果知道大小,
for(int i=0;i<max;i++)
{
fscan(fp,"%d %d %d %d",&a[i][0],&a[i][1],&a[i][2],&a[i][3]);
}
如果不知道大小,先用文件大小计算一下,或者用vector,循环条件改成while(!feof(fp)
Top
3 楼ddc(ddc)回复于 2005-06-02 00:40:15 得分 0
fscanfTop
4 楼foochow(无聊,灌水......)回复于 2005-06-02 00:48:55 得分 0
一个一个的读吧-_-
Top
5 楼nasi00(莫傲·逍遥)回复于 2005-06-02 01:55:06 得分 0
freopen("a.txt", "r", stdin)
for(int i=0;i<4;i++)
for(int j=0;j<4;j++)
scanf("%d",&a[i][j]);
如果你确定只有4*4的话,这样就ok了Top
6 楼l_9526(哈哈)回复于 2005-06-02 02:25:11 得分 0
#define N 20
#include<stdio.h>
void main()
{
FILE *fp;
int a[N][N],i,j;
int k;
scanf("%d",&k);/*输入矩阵大小*/
printf("\n");
if((fp=fopen("c:\\1.txt","r+"))==NULL)
printf("\nCannot open file strike any key exit!");
for(i=0;i<k;i++)
{
for(j=0;j<k;j++)
fscanf(fp,"%d",&a[i][j]);
}
fclose(fp);
for(i=0;i<k;i++)
{
for(j=0;j<k;j++)
printf("%d,",a[i][j]);
printf("\n");
}
}Top




