1

我正在研究一些位图字体。
这里的想法是给我 2 个文件
input.txt 和字体 .txt。我必须从 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 数组中,如果有,则在末尾删除 , 。

检查"可以简单地通过直接比较来完成,因为它是一个 ascii 字符。

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

获取字母可以通过相同的方式完成:

char myletter = myline[1];

您还可以scanf用来解析格式化的行。此外,如果您必须使用 C++ 工作,它会让您的生活更轻松,因为您可以访问更高级别的方法。

于 2012-09-13T17:57:11.377 回答