0

それぞれ 34 文字の 25 行のテキスト ファイルがあります。

C では、これらの文字をどのようにロードして 2D 配列に格納することができますか?

ファイルの最初の 3 行が次のような場合:

bamaaaaaaaacxxxxxxxxxxbaaaaaaaamac
jzjzzzzzzzzdaaaaaaaaaaezzzzzzzzjzj
jzjzbaaczgzzzzzzzzzzzzzzgzbaaczjzj

...and so on

次のように定義されているかのように、配列を格納する必要があります。

char* data[] = {
            "baaaaaaaaaaaaaacxxbaaaaaaaaaaaaaac",
            "jzzzzzzzzzzzzzzjxxjzzzzzzzzzzzzzzj",
            "jzbaaaaaaaaaaaaexxdaaaaaaaaaaaaczj",
...and so on

うまくいけば、これはある程度の意味があります!dataのタイプはchar data[][]、私のプロジェクトの残りの部分でその形式で使用され、変更できないため重要です。

ファイル IO の基本的な開始を行いました

FILE  *infp;

printf("Opening file\n");

if((infp = fopen("file.txt", "r"))== NULL) {
    printf("\nERROR : Unable to open input file\n");
    SetExitWithCode( 999 );
    }else{
            //code here
            }

誰でも助けることができますか?

4

1 に答える 1

2

したがって、配列は次のようになります。

char data[25][35] //There is an extra 1 character per line to hold the null terminator character

次に、ファイル全体をその配列に読み込むだけです

fread(data, 1, sizeof(data), infp);

最後に、各行の改行文字をターミネータに置き換えます

for (int i = 0; i < 25; ++i) {
    data[i][34] = 0;
}

これは問題に対する最も簡単な解決策ですが、悪い方法でもあります。データが正しい形式であること、およびすべてがハードコードされていることは検証されません。

于 2012-04-29T20:06:10.350 に答える