0

いくつかのフィールドが次のように記述されている構成ファイルがあります。

;
Student Name; Enroll. No.; Std; Age

最初の行は区切り記号について説明し、2 行目は上記の区切り記号で区切られたフィールドを示します。構成ファイルであるため、フィールドは動的です。

区切り文字は ,/;/ の可能性があります: フィールドは修正番号ではありません。フィールド名はシナリオによって変わります。フィールドに従ってフォーマットされる入力ファイル データ

C コードを使用して、この構成ファイルを理解する必要があります。これで私を導いてください

4

1 に答える 1

0

C のヒントをいくつか使用して、アルゴリズムのアプローチを説明します。これを C で詳細に実装することを試みることができます。

  1. 構成ファイルの最初の行を文字列バッファーに読み取り、最初の文字をdelimiter変数に格納します (注: もちろん、これはこの行の最初の文字が目的のものであることを前提としています)。

  2. 構成ファイルの 2 行目を文字列バッファーに読み取り、手順 1 で保存した を文字列区切り文字として使用strtokしてdelimiter、その行から各列名を読み取り、それらを列名の配列にコピーします (注:要素の最大数が固定された の配列でありchar *、各文字列メモリを動的に割り当て、 で指定されたポインターから文字列をコピーしますstrtok)。このステップでは、記録した列数を記録しますnum_columns

  3. データ ファイルを 1 行ずつ開いて読み取ります。ここで使用strtokし、必要なメソッドを使用して各文字列項目を操作できます。構成ファイルはデータ型を示していないため、特定の列名に基づいて仮定を行う場合を除き、それらはすべて文字列であると仮定する必要があります。

それが基本的なアプローチです。エラーチェックと一般的なハウスキーピング (必要に応じてファイルを閉じるなど) の空白を埋めることができます。

于 2013-10-01T13:33:43.473 に答える