我正在处理一些位图字体
这里的想法是给我两个文件
input.txt和font.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
有人能告诉我如何将存储在文件中的上述格式加载到数据结构中吗。
看看这个SO解决方案,看看如何在c.中逐行读取
我假设您使用ASCII,并且您的数组大小是恒定的。您可以简单地在每行的开头检查"
,在这种情况下,您可以假设它是您的字母的标识符,否则您可以将值逐行读取到16x8数组中,如果有,则在末尾删除。
检查"
可以简单地通过直接比较来完成,因为它是一个ascii字符。
if (myline[0] == 34) {...};
获取信件可以用同样的方法:
char myletter = myline[1];
您也可以使用scanf
来解析格式化的行。此外,如果你有可能在C++中工作,这将使你的生活变得更轻松,因为你可以访问更高级别的方法。