C++においてファイルから数値を読み取り読み取った値を行列にして表示したいです。
ファイル内には数字が空白で区切られて入っています。
ファイルの各行を行列の各行になるよう代入したいのですが、今のプログラムだと全ての行に同じ配列が入ってしまいます。
ファイルの各行を行列の各行になるようにするには、どのように修正したらよいでしょうか?
分かる方いらっしゃいましたら、ご回答よろしくお願いします。
リンク内容
ちなみにこちらの質問を参考にしました。
c++
コード
#define _USE_MATH_DEFINES
#include<stdio.h>
#include<math.h>
#include <stdlib.h>
#include <string.h>
#define MAX 4096
int main(void){
FILE *fp ;
char buf[MAX]={0};
int **h1; //パリティ検査行列
int *tmp1; //パリティ検査行列に使う
int i,j;
h1=(int **)malloc(1280 * sizeof(int *)); tmp1=(int *)malloc(1280*1920 * sizeof(int )); for(i=0;i<1280;i++){ h1[i]=tmp1+1920; } if((fp=fopen("LDPC.txt","r"))!=NULL){ /*ファイルの終わりまで繰り返し読み込む*/ i=0; while(fgets(buf,MAX,fp)!=NULL){ printf("%s,",buf); h1[i][0]=atoi(strtok(buf," ")); for(j=1;j<1920;j++){ h1[i][j]=atoi(strtok(NULL," ")); } i++; } } fclose(fp); for(i=0;i<1280;i++){ for(j=0;j<1920;j++){ printf("%d,",h1[i][j]); } printf("\n"); } free(h1); free(tmp1); return 0;
}

回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。