まずは私はC++の専門家ではなく、まだ学んでいますので、どんな洞察力があれば幸いです。この問題は最初は単純な問題に見えましたが、数ヶ月後にはまだ解決策を見つけることができません。私はそれが私が単に見落としているという簡単な答えを期待しています。C++ファイルからテキストを読み込んで文字列をint配列に解析する
以下は、このスレッドと他のサイトで同様のスレッドを読むために書いたコードです。基本的には、GF256の乗算配列(256行ごとに256の長さ)を含むテキストファイルから読み込もうとしています。行ごとに読むことは、行(cout < <複数_ < < endl;)によって証明されているようです。ここでは、各行の文字列として必要なものを正確に見ています。この時点で私は問題です。この文字列をint配列に解析する方法が見つからないようです。私はこれをやろうとする試みが異なるこのコードを何度も繰り返しましたが、私のために働いた人はいませんでした。私はこれには非常に単純な解決策があると仮定します。繰り返しますが、この問題についての洞察は非常に高く評価されます。
int kGF = 0;
int multiGFtemp[256 * 256];
int n;
int main()
{
string multi_;
ifstream fileGF("GF256MultiTable.txt");
if(fileGF.is_open())
{
while(getline(fileGF,multi_))
{
cout << multi_ << endl;
cin.get();
}
fileGF.close();
}
else
{
cout << "File is not open" << endl;
}
cin.get();
cout << multi_;
stringstream stream2(multi_);
while(stream2)
{
stream2 >> n;
cout << n << endl;
multiGFtemp[kGF] = n;
kGF++;
}
for(int k = 0; k < 256 * 256; k++)
{
/*
cout << multiGFtemp[k] << " ";
*/
}
cin.get();
return 0;
}
あなたが提供したコードでは、 'getline'を処理する必要があるときにテキストを読むときに処理される可能性のある行が最後にあります。行(文字列)と配列を引数とし、後者を最初の文字列の内容で埋める関数を書くことを検討してください。文字列から数値を読み込む問題は、「CSV C++」でグーグルで答えることができますそれをした。 – riodoro1
ファイルのフォーマット方法の例を表示できますか? – NathanOliver
.txtファイルは次のように書式設定されています。新しい行です。 0 0 0 0 ...; 1 1 1 1 1 ...; 1 2 3 5 ...;各番号の間には未定義の量の空白がありますが、番号が付けられた各256行の最後に明確な改行があります。 – pfe