真心请教字符串输出显示问题
请教在字符串里怎们进行定长输入输出显示啊
如我想实现
CString str;
str.Format("%40s%40s","dong","dong");
CString str2;
str2.FormatFormat("%40s%40s","dongchun","dongchun");
这个我想实现的是输入字符串定长,如果少于40个,就补足空格,都是四十个,怎们我用TextOut输出显示时
两行并不对称阿。
char a[80];char b[80];
memset(a,0,40);
memset(b,0,40);
str.Format("%s",a);
sprintf(a,"%40s%40s","dong","dong");
str.Format("%s",a);
CString str2;
sprintf(b,"%40s%40s","dongcccc","dongccc");
str2.Format("%s",b);
pDC->TextOut(0,0,str);
pDC->TextOut(0,20,str2);
怎们就只显示第二行啊,不见第一行啊
哪位达人指教一下
问题点数:20、回复次数:3Top
1 楼sunyuan_01(Fuck_Man超人兄弟)回复于 2005-05-19 19:44:15 得分 0
CString str;
// str.Format("%40s%40s","dong","dong");
CString str2;
// str2.FormatFormat("%40s%40s","dongchun","dongchun");
char a[180];//buffer 太小溢出
char b[180];
memset(a,0,40);
memset(b,0,40);
str.Format("%s",a);
sprintf(a,"%040s%040s","dong","dong");
str.Format("%040s%040s","dong","dong");
int i = str.GetLength();
sprintf(b,"%040s%040s","dongcccc","dongccc");
str2.Format("0%40s%040s","dongcccc","dongccc");
int j = str.GetLength();
pDC->TextOut(0,0,str);
pDC->TextOut(0,20,str2);
这样看到是对称的,但用空格填充时,看到是不对称的,不懂?Top
2 楼jjjjjjjj2046(中国程序先锋网(www.cppn.net)大量代码免费下载)回复于 2005-05-19 20:08:44 得分 0
以前还没有注意这个呢Top
3 楼vcmute(BCare4 H1Rest Good9!)回复于 2005-05-19 20:34:03 得分 20
字体问题:改成TT即可
CFont font;
VERIFY(font.CreateFont(
16, // nHeight
0, // nWidth
0, // nEscapement
0, // nOrientation
FW_NORMAL, // nWeight
FALSE, // bItalic
FALSE, // bUnderline
0, // cStrikeOut
ANSI_CHARSET, // nCharSet
OUT_DEFAULT_PRECIS, // nOutPrecision
CLIP_DEFAULT_PRECIS, // nClipPrecision
DEFAULT_QUALITY, // nQuality
DEFAULT_PITCH | FF_SWISS, // nPitchAndFamily
"宋体"));
CFont* pOldFont=pDC->SelectObject(&font);Top




