前提・実現したいこと
c++で以下のようなファイル読み込み
5
3 6 1 9 4
5 12 14 3 6 4 7
1 5 3 6 8 9 14 16 17 18 22
4 5 7 8 10 13 15
8 2 4 6 7 9 11 15 18
1行目は2行目以降読み込む行数
a[][]の2次元配列にi行目のj個目の数値を代入したい
各行にいくつ数値があるかは不明
数値は正の整数
発生している問題・エラーメッセージ
各行で数値の数が不明なため、
while文で改行まで空白行ごとの読み込みをしたいですが、
ifstreamでのファイル読み込みをどうすればいいか試行錯誤しましたが、
わかりません。
どうかお力添えお願いいたします。
該当のソースコード
c++
1コード
#include <iostream>
#include <fstream>
#include <string>
using namespace std;
int main()
{
const char *inputfile = "test.txt"; //入力ファイル名
//変数
int data; //読み取り変数
int i,j; //カウント用変数
int n; //行数
int a[N][N] = {0};//格納配列
char *str;
std::ifstream ifs(inputfile);
if (!ifs)
{
std::cout << "cannot read file" << std::endl; //エラー
}
ifs >> data;//読み込み
n = data;//格納
std::cout << data << endl;
//ここからわかりません。。
//空白行ごとにi行目j個目の数値をa[i][j]に代入
//a[i][j+1]には0を代入
//数値は正の整数であり、各行の数値は不明
for(i=0;i<n;i++){
}
//debug
for(i=0;i<n;i++){
while(a[i][j]!=0){
std::cout << a[i][j] << endl;
j++;
}
}
return 0;
}
試したこと
fstreamで空白行ごとに読み込みは改行も飛ばしてしまうのでNG
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/05/18 20:40