一个字符串右对齐问题
将几个数字格式化之后插入一个listbox,要求字符要右对齐,我使用了sprintf函数,但是对得还是不齐,代码大致如下: for(i=m_GraySelVec.size()-1;i>-1;i--)
{
char szSel[256];
memset(szSel,'\0',256);
sprintf(szSel,"%5d--%5d:%8d%8d%8d",m_GraySelVec[i].Min,m_GraySelVec[i].Max,GetRValue(m_pPallette[m_ColorIndexVec[i]]),GetGValue(m_pPallette[m_ColorIndexVec[i]]),GetBValue(m_pPallette[m_ColorIndexVec[i]]));
pListBoxPct->InsertString(-1,szSel);
}
效果图如下,图中上面的就是listbox,可以看到第一行和其它行对不齐:
" border="0" />
大家有没有更好的字符串对齐的办法呢? 我的编译环境是:VS2005 + sp1, Win XP + sp2.