用c语言加载位图字体
我正在处理一些位图字体。用c语言加载位图字体,c,data-structures,C,Data Structures,我正在处理一些位图字体。 这里的想法是给我2个文件 input.txt和font.txt。 我必须从input.txt文件中读取一个字符串,并使用font.txt对其进行转换,然后将相应的输出打印到另一个文件output.txt。 font.txt中的每个字符都由16x8的网格表示。e、 g: "A"= 0x00, 0x00, 0x10, 0x38, 0x6c, 0xc6, 0xc6, 0xfe, 0xc6, 0xc6, 0xc6, 0xc6,
这里的想法是给我2个文件
input.txt和font.txt。 我必须从input.txt文件中读取一个字符串,并使用font.txt对其进行转换,然后将相应的输出打印到另一个文件output.txt。 font.txt中的每个字符都由16x8的网格表示。e、 g:
"A"=
0x00,
0x00,
0x10,
0x38,
0x6c,
0xc6,
0xc6,
0xfe,
0xc6,
0xc6,
0xc6,
0xc6,
0x00,
0x00,
0x00
0x00
有人能告诉我如何将存储在文件中的上述格式加载到数据结构中。看看如何在c中逐行读取
我假设您使用ASCII,并且数组大小是恒定的。您只需在每行的开头检查“
,在这种情况下,您可以假定它是您的字母的标识符,否则您可以将值逐行读取到16x8数组中,如果有,则在末尾删除
检查“
可以通过直接比较来完成,因为它是ascii字符
if (myline[0] == 34) {...};
获取信件的方法也可以相同:
char myletter = myline[1];
您还可以使用scanf
解析格式化的行。另外,如果你有可能在C++中工作,它会使你的生活变得更容易,因为你将有机会访问更高级的方法。 查看看看如何在C.中逐行阅读。
我假设您使用ASCII,并且数组大小是恒定的。您只需在每行的开头检查“
,在这种情况下,您可以假定它是您的字母的标识符,否则您可以将值逐行读取到16x8数组中,如果有,则在末尾删除
检查“
可以通过直接比较来完成,因为它是ascii字符
if (myline[0] == 34) {...};
获取信件的方法也可以相同:
char myletter = myline[1];
您还可以使用scanf
解析格式化的行。另外,如果你必须在C++中工作,它会使你的生活变得简单很多,因为你可以访问更高级的方法。