C语言问题,如何读取txt文件的矩阵
matrix.txt中有1个3x3的矩阵010101我想要读出这3个矩阵并显示出来应该怎么写?要求用file=fopen("matrix.txt","r")fscanf(...
matrix.txt 中有1个3x3的矩阵
010
101
我想要读出这3个矩阵并显示出来应该怎么写?
要求用
file=fopen("matrix.txt","r")
fscanf(file, "%d", &....)
我的代码是这样写的
myfile_2 = fopen("Patterns.txt","r");
for (i=0; i<3; i++)
{
for (j=0; j<3; j++)
{
fscanf(myfile_2, "%d", &pat_1[i][j]);
printf("%d", &pat_1[i][j]);
}
fscanf(myfile_2, "\n");
printf("\n");
}
运行出来的结果如图,完全不对,求教 展开
010
101
我想要读出这3个矩阵并显示出来应该怎么写?
要求用
file=fopen("matrix.txt","r")
fscanf(file, "%d", &....)
我的代码是这样写的
myfile_2 = fopen("Patterns.txt","r");
for (i=0; i<3; i++)
{
for (j=0; j<3; j++)
{
fscanf(myfile_2, "%d", &pat_1[i][j]);
printf("%d", &pat_1[i][j]);
}
fscanf(myfile_2, "\n");
printf("\n");
}
运行出来的结果如图,完全不对,求教 展开
5个回答
展开全部
可以按照如下几步操作来读取矩阵。
1 确定文件名。
2 打开文件,使用fopen函数。
fopen("文件名", “r”);
3 根据约定的文件格式,包括文件中矩阵规模,元素的类型,以及元素分隔的符号,采用fscanf函数循环读入矩阵。
4 判断文件是否读完,如未读完,重复第三步直到读完。
5 关闭文件。
举例说明:
文件名为in.txt, 文件中存有若干行整型数据,每行3个元素,元素间以空格分隔。即存有一个3*n的矩阵,n值不定,约定最大为100行。
代码如下:
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);//关闭文件。
}
2013-10-22
展开全部
你好!
fscanf 读取文件的时候,是以空格作为分割符号的,所以你的数字之间要有空格;
如果你的数字间没有空格,那么读取的时候,就会按照一个数来读取;
fscanf 读取文件的时候,是以空格作为分割符号的,所以你的数字之间要有空格;
如果你的数字间没有空格,那么读取的时候,就会按照一个数来读取;
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
1),使用fopen函数打开指定txt文件。
2),根据矩阵的空格符和换行符,使用一个循环whilte(scanf()!=EOF)分别读取每行数据。
3),读取的过程当中,记录该矩阵的行数(换行符),列数(空格符)。
4),根据需要,把矩阵放入一个一维数组或者二维数组当中。
2),根据矩阵的空格符和换行符,使用一个循环whilte(scanf()!=EOF)分别读取每行数据。
3),读取的过程当中,记录该矩阵的行数(换行符),列数(空格符)。
4),根据需要,把矩阵放入一个一维数组或者二维数组当中。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2013-10-21
展开全部
把文件中的数字改成这种形式的,每个数之间都有空格,就可以了。
0 1 0
1 0 1
1 1 1
0 1 0
1 0 1
1 1 1
追问
不行啊,加了空格还是一样。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
printf("%d", pat_1[i][j]);
printf("%d", &pat_1[i][j]);打印的是地址。
要考虑到txt文件里的换行,并且同行里整数之间要用空格隔开。
printf("%d", &pat_1[i][j]);打印的是地址。
要考虑到txt文件里的换行,并且同行里整数之间要用空格隔开。
追问
谢谢,按你说的成功了。
但是我想多问一个问题,为什么数字间要空格?
追答
如果不加,那数字都连起来成为一个数了,而不是分开的几个数
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询