关于函数wsprintf().
请问函数wsprintf()怎么用,和printf()用法相同吗?
麻烦看下下面这段代码,sysmetrics是一个结构的数组,结构有三个字段Index, szDesc 和 szLabel。我希望输出三列,前两列左对齐,第三列右对齐。按我的理解wsprintf()与printf()输出格式应该是相同的,那么把高亮的那两句去掉也应正确输出,但是,注释掉这两句之后,第三列好像变为中间对齐(不管怎么说吧,总之不是右对齐),把sprintf()中第二个参数改为%-5d输出的第三列为左对齐,这和我想的结果是一样的(和printf()相同)。
请问这是怎么个问题呢?谢过先。
for( i = 0; i < NUMLINES; i++ ){
SetTextAlign( hdc, TA_LEFT );
TextOut( hdc, 0, cyChar * i, sysmetrics[ i ].szLabel, lstrlen( sysmetrics[ i ].szLabel ) );
TextOut( hdc, 22 * cxCaps, cyChar * i, sysmetrics[ i ].szDesc, lstrlen( sysmetrics[ i ].szDesc ) );
SetTextAlign( hdc, TA_RIGHT );
TextOut( hdc, 22 * cxCaps + 40 * cxChar, cyChar * i, szBuffer, wsprintf( szBuffer, "%5d", GetSystemMetrics( sysmetrics[ i ].Index ) ) );
}