a.txtには複数行2列のデータが入っています。
最初にファイルを読み込み行数を出し、その行列を2次元配列に格納したいです。
for文で2次元配列を作ったのですが、出力がうまくいきません。
c言語初心者です。どなたかわかる方、教えていただきたいです、、、。
#include<stdio.h>
#define BUF_SIZE 256
int main(int argc, char *argv[])
{
FILE *fp;
char buf[BUF_SIZE];
int line = 0;
if ((fp = fopen("a.txt", "r")) == NULL) {
return -1;
}
while (fgets(buf, BUF_SIZE, fp) != NULL) {
line++;
}
printf("%d\n", line);//行数出力
int i,j,val[line][2];
for(i=0;i<line;i++){
for(j=0;j<2;j++){
fscanf(fp,"%d",&val[i][j]);
}
}
for(i=0;i<line;i++){
for(j=0;j<2;j++){
printf("%d",val[i][j]);
}
printf("\n");
}
fclose(fp);
return 0;
}
回答4件
あなたの回答
tips
プレビュー