如何读取TXT文件并赋值给矩阵
1个回答
展开全部
可以按照如下几步操作来读取矩阵。
1 确定文件名。
2 打开文件,使用fopen函数。
fopen("文件名", “r”);
3 根据约定的文件格式,包括文件中矩阵规模,元素的类型,以及元素分隔的符号,采用fscanf函数循环读入矩阵。
4 判断文件是否读完,如未读完,重复第三步直到读完。
5 关闭文件。
举例说明:
文件名为in.txt, 文件中存有若干行整型数据,每行3个元素,元素间以空格分隔。即存有一个3*n的矩阵,n值不定,约定最大为100行。
代码如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
int a[100][3];//定义矩阵
int lines=0;//矩阵行数
void matrix_read()
{
FILE *fp;
int i;
fp = fopen("in.txt", "r");//打开文件
if(fp == NULL)//打开失败
return;
while(lines < 100)
{
for(i = 0; i < 3; i ++)
if(fscanf(fp, "%d",&a[lines][i]) == EOF) break;//读取数据
if(feof(fp)) break;//判断是否文件结束。
lines++;//读取一行成功,增加行数。
}
fclose(fp);//关闭文件。
}
1 确定文件名。
2 打开文件,使用fopen函数。
fopen("文件名", “r”);
3 根据约定的文件格式,包括文件中矩阵规模,元素的类型,以及元素分隔的符号,采用fscanf函数循环读入矩阵。
4 判断文件是否读完,如未读完,重复第三步直到读完。
5 关闭文件。
举例说明:
文件名为in.txt, 文件中存有若干行整型数据,每行3个元素,元素间以空格分隔。即存有一个3*n的矩阵,n值不定,约定最大为100行。
代码如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
int a[100][3];//定义矩阵
int lines=0;//矩阵行数
void matrix_read()
{
FILE *fp;
int i;
fp = fopen("in.txt", "r");//打开文件
if(fp == NULL)//打开失败
return;
while(lines < 100)
{
for(i = 0; i < 3; i ++)
if(fscanf(fp, "%d",&a[lines][i]) == EOF) break;//读取数据
if(feof(fp)) break;//判断是否文件结束。
lines++;//读取一行成功,增加行数。
}
fclose(fp);//关闭文件。
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询