私は、n個の列とy個の行にバイナリ値を持つテキストファイルを持っています。getline end of line?
Iは、バイナリ値のすべての行を抽出し、ベクトルに割り当てるのgetlineを使用しています:
Iは、各行が「0」の一連の構成やファイルのすべての行を抽出するためのgetlineを使用してい'1'はスペースで区切り、ベクトルに割り当てます。
std::vector< std::vector<int> > matrix; // to hold everything.
std::string line;
while(std::getline(file,line))
{
std::stringstream linestream(line);
int a,b,c,d;
linestream >> a >> sep >> b >> sep >> c >> sep >> d;
std::vector <int> vi;
vi.push_back(a);
vi.push_back(b);
vi.push_back(c);
vi.push_back(d);
matrix.push_back(vi);
}
ここで問題になるのは、ファイルにいくつの列があるかを事前に知ることができないことです。私はその行の最後に到達するまでどのようにすべての行をループすることができますか?
"バイナリ値"を定義します。 –
getline()はバイナリファイルでは動作しません。 getline()と演算子>>は、テキストファイル(おそらく人間が読むことができる)で使用するように設計されています。バイナリファイルには、これらの演算子を混乱させる任意のデータがあります。 –
@Martin:空白で区切られた0と1の表を意味しました。 – alandalusi