1

私はいくつかのビットマップフォントに取り組んでいます。
ここでの考え方は、
input.txt と font.txt の 2 つのファイルが与えられているということです。input.txt ファイルから文字列を読み取り、font.txt を使用して変換し、対応する出力を別のファイル output.txt に出力する必要があります。font.txt の各文字は、16x8 のグリッドで表されます。例えば:

"A"=  
0x00,  
0x00,  
0x10,  
0x38,  
0x6c,  
0xc6,  
0xc6,  
0xfe,  
0xc6,  
0xc6,  
0xc6,  
0xc6,  
0x00,  
0x00,  
0x00
0x00

ファイルに保存されている上記の形式をデータ構造にロードする方法を教えてください。

4

1 に答える 1

1

この SO ソリューションを見て、c で行ごとに読み取る方法を確認してください。

ASCII を使用しており、配列のサイズが一定であると想定しています。"各行の先頭にある を簡単に確認できます。この場合、それは文字の識別子であると想定できます。そうでない場合は、値を行ごとに 16x8 配列に読み取り、最後に , がある場合は削除します。

"アスキー文字であるため、直接比較することで簡単に確認できます。

if (myline[0] == 34) {...};

文字を取得するには、同じ方法で行うことができます。

char myletter = myline[1];

scanfフォーマットされた行を解析するために使用することもできます。また、C++ で作業する必要がある場合は、より高いレベルのメソッドにアクセスできるため、作業がずっと楽になります。

于 2012-09-13T17:57:11.377 に答える