有两个 字符串变量
str1="aaaaaaaa"
str2="bbbbbbbbbbbb"
我想输出一个字符串(str)有这两个组成但第一个占40个字符(str1长度不定),str2加在40个字符后面。怎样输出!! thx!
str1="aaaaaaaa"
str2="bbbbbbbbbbbb"
我想输出一个字符串(str)有这两个组成但第一个占40个字符(str1长度不定),str2加在40个字符后面。怎样输出!! thx!
str.Format("%40s%s",str1,str2);
memcpy(str,str1,40);
str = str + str2;
CString str;
if(strlen(str1)>40)
{
memcpy(str,str1,40);
str = str + str2;
}
else
{
for(int i = 0 ; i < 40 - strlen(str1) ; i ++)
{
str3 += ' ';
}
str = str1 + str3 = str2;
}
^
CString s2 = "bbbbbbbbbb.....bbbbbbbbbbb";
CString result;result = s.Left(40) + s2;
{
for(int i=0; i<40-s.Getlength(); i++)
s += " "; // 一个空格
}
memcpy是从内存中拷贝数据,str与str1都是字符串,都是以/0结尾的,在拷贝时虽然制定拷贝长度是40,但str1已经结束了,所以拷贝操作也就结束了,最终结果不能拷贝40个长度。第三种方法,也可以,不过感觉不是太好。
CString str;
str.Format("%-40s%s",str1,str2);注意多了个负号
aaaaaaaaa bbbbbbbbb
a bbbbbbbb
aaaaa bbbbbbbbbbbbbbbbbb
上面是我想得到的。
rtdb(东临碣石)你的方法看上去没有问题
但是输出:
aaaaaaaaa bbbbbbbbb
a bbbbbbb为什么?
我把它输入listbox中为什么格式会改变? aaaaaaaaa bbbbbbbbb中间可能少了写字符???