首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 软件管理 > 软件架构设计 >

,关于文件读写有关问题

2012-04-11 
请教高手,关于文件读写问题一个文本文件,第一列表示ID,第二列表示对应的值,要把它读到一个二维数组中,结果

请教高手,关于文件读写问题
一个文本文件,第一列表示ID,第二列表示对应的值,要把它读到一个二维数组中,结果
应当为int   a[9][4]={{1,2,5},{2,4},{2,3},{1,2,4},{1,3},{2,3},{1,3},{1,2,3,5},{1,2,3}}该如何实现啊?以下两列为该文本文件
1       1
1       2
1       5
2       2
2       4
3       2
3       3
4       1
4       2
4       4
5       1
5       3
6       2
6       3
7       1
7       3
8       1
8       2
8       3
8       5
9       1
9       2
9       3

[解决办法]
用c语言吗?
FILE *fp;
fp = fopen();
memset(a,0,9*4*sizeof(int));
while(fp!=EOF)
{
fscanf( "%d %d ",&p,&q);
for(int i=0,a[p][i]!=0;i++)
;
a[p][i]=q;
}
print();

只是大概思想吧,几个函数没写全。给你个提示,还是要自己动手做的。
[解决办法]
#include <stdio.h>

#define MAXCOL 10
#define MAXROW 10


int main(int argc, char *argv[])
{
int data[MAXROW][MAXCOL] = {0};
int pos[MAXROW] = {0};
int row;
int ele;
int i = 0;
int j = 0;

FILE *pf = 0;
pf = fopen( "Data.txt ", "r ");
if (0 == pf)
{
perror( "Open file error!\n ");
return -1;
}
while (!feof(pf))
{
fscanf(pf, "%d %d ", &row, &ele);
data[row][pos[row]] = ele;
pos[row]++;
}
for (i = 0; i <MAXROW; i++)
{
for (j =0; j <MAXCOL; j++)
{
printf( "%d ", data[i][j]);
}
printf( "\n ");
}

return 0;
}

可以支持不同顺序的输入

热点排行