使用自定义数据类型

时间:2012-09-07 20:40:48

标签: c types

FreeType库定义了不少basic data types,但我不太清楚如何使用它们。我正在尝试使用FT_Get_Glyph_Name方法,它采用以下形式:

FT_Get_Glyph_Name(FT_Face face, FT_UInt glyph_index, FT_Pointer buffer, FT_UInt buffer_max );

所以我有这段代码:

FT_Face = face;
FT_Pointer = name;
FT_Get_Glyph_Name(face, 0, name, 45);

这很好用,但我不确定如何实际获取名称的字符串表示(例如与printf一起使用)。如何从FT_Pointer获取字符串?

1 个答案:

答案 0 :(得分:1)

从文档链接:

  

字形名称被截断以适应缓冲区(如果它也是如此)   长。返回的字符串始终为零终止。

FT_Pointer是void *上的typedef。

简单的演员就足够了:

char name[100];
FT_Get_Glyph_Name(face, 0, (FT_Pointer) name, 100);
printf("Name : '%s'\n", name);

您还可以使用FT_Pointer类型变量并将它们转换为(char *)。