关于本文窗口函数 void gettextinfo(struct text_info *f)的问题
有时需要知道当前屏幕的显示方式,当前窗口的坐标、当前光标的位置,文本的显示
属性等,Turbo C 提供了一些函数得到屏幕文本显示有关信息的函数:
void gettextinfo(struct text_info *f);
这里的text_info 是在conio.h 头文件中定义的一个结构,该结构的定义是
struct text_info{
unsigned char winleft; /* 窗口左上角x 坐标 */
unsigned char wintop; /* 窗口左上角y 坐标 */
unsigned char winright; /* 窗口右下角x 坐标 */
unsigned char winbottom; /* 窗口右下角y 坐标 */
unsigned char attributes; /* 文本属性 */
unsigned char normattr; /* 通常属性 */
unsigned char currmode; /* 当前文本方式 */
unsigned char screenheight; /* 屏高 */
unsigned char screenwidth; /* 屏宽 */
unsigned char curx; /* 当前光标的x 值 */
unsigned char cury; /* 当前光标的y 值 */
};
然后,程序中:
属性等,Turbo C 提供了一些函数得到屏幕文本显示有关信息的函数:
void gettextinfo(struct text_info *f);
这里的text_info 是在conio.h 头文件中定义的一个结构,该结构的定义是
struct text_info{
unsigned char winleft; /* 窗口左上角x 坐标 */
unsigned char wintop; /* 窗口左上角y 坐标 */
unsigned char winright; /* 窗口右下角x 坐标 */
unsigned char winbottom; /* 窗口右下角y 坐标 */
unsigned char attributes; /* 文本属性 */
unsigned char normattr; /* 通常属性 */
unsigned char currmode; /* 当前文本方式 */
unsigned char screenheight; /* 屏高 */
unsigned char screenwidth; /* 屏宽 */
unsigned char curx; /* 当前光标的x 值 */
unsigned char cury; /* 当前光标的y 值 */
};
然后,程序中:
程序代码:
cprintf("Left corner of window is %d,%d ",current.winleft,current.wintop); /*上面用的是char型变量*/ cprintf("Right corner of window is %d,%d ",current.winright,current.winbottom); cprintf("Text window attribute is %d ",current.attribute); cprintf("Text window normal attribute %d ",current.normattr); cprintf("Current video mode is %d ",current.currmode); cprintf("Window height and width is %d,%d ",current.screenheight,current.screenwidth); cprintf("Row cursor pos is %d , Column pos is %d ",current.cury,current.curx);
问题:为什么定义的是char型,输出格式却是用%d?