非定常サイズの初期化中にC++のchar配列が必要です。サイズは関数から生成され、ベクトルには使用できないので定数でなくてはなりません。このchar配列はファイルの読み書きに使用されます。例:初期化中にサイズが一定でない文字配列
int i = functionToGetvalue();
unsigned char ch[i];
file1 >> ch;
file2 << ch;
非定常サイズの初期化中にC++のchar配列が必要です。サイズは関数から生成され、ベクトルには使用できないので定数でなくてはなりません。このchar配列はファイルの読み書きに使用されます。例:初期化中にサイズが一定でない文字配列
int i = functionToGetvalue();
unsigned char ch[i];
file1 >> ch;
file2 << ch;
前提が間違っています。ベクトルよりもCスタイルの配列(またはstd::array
)を好む理由はありますが、あなたは確かにそうではありません。メモリに連続していることが保証されているので、確かにstd::vector
を使用してファイルの読み書きを行うことができます。
例:
std::string str;
file1 >> str; // reads up to the next white space into str
あなたはそれを行うことはできません。あなたの元の例で
、あなたがフォーマットされたストリームのI/O、およびこのような場合には、
std::string
は最適なツールを使用していますそうですね。あなたは 'new'を使う必要があります(そして、あなたのdoneを削除することを忘れないでください) – litelite"この文字配列はファイルへの読み書きに使われます。あなたはベクトルや文字列でそれを行うことができます。 –
'functionToGetvalue'は何をしますか?あなたは 'constexpr'をマークすることができます。 – Rakete1111