この問題には、C++ 文字列オブジェクトまたは C-String を使用する必要があります。ファイルからコンテンツを読み取ります。ファイル形式は、各行に 1) 3 つの列があり、2) 各列は | で区切られています。各行を stdout に出力します。最初の列の幅は 15、2 番目の列の幅は 8、3 番目の列の幅は 6 にする必要があります。行が # で始まる場合はスキップする必要があります。また、2列目は小数点以下2桁まで表示する必要があります。3 行以上ある場合もあります。3 行だけを想定することはできません。ただし、列は 3 つしかないと想定できます。サンプル入力
#Test file one
C1|c2|c4
Xyz|1.2|100
Abc|5.5|200
したがって、そのプログラムの概要を考えると (私はあなたに私のコードを書くように求めているわけではありません! :( ) ここに何をすべきかについての私の考えがあります... 多次元配列ですが、3 つ以上の行がある可能性があるので、その変数では私はしませんそのため、多次元配列を実行できるとは思いません。
また、各行を読み取り、分割し、フォーマットしてから印刷することも考えましたが、一度に各行だけを心配しました。私はそれが可能な限り最善の方法であると考えていますが、提案によって何でもすることにオープンです。ある種の行末「区切り文字」を使用してそれを行うと思います。
私が見つけることができる他の唯一の問題は、先頭の文字が # であるかどうかに基づいて、行を無視してスキップすることになっていることです。それを行う方法もわかりません。ignore()関数は方法だと思いますが、私が理解しているように、制限に達するかデリミネーターが見つかるまでスキップを開始します。その関数を使用して、最初に delim 文字を見つけ、その後すべてを EOL にスキップする方法はないと思います。