命令行程序 user MFC
int _tmain(.......................
...
CString str;
str = "" ;
str += "asdfasdf" ;
str += "asdfasdf" ;
str += "asdfasdf" ;
str += "asdfasdf" ;
str += "asdfasdf" ;
str += "asdfasdf" ;
str += "asdfasdf" ;
str += "asdfasdf" ;
str += "asdfasdf" ;
str += "asdfasdf" ;
str += "asdfasdf" ;
str += "asdfasdf" ;
str += "asdfasdf" ;
str += "asdfasdf" ;
str += "asdfasdf" ;
str += "asdfasdf" ;
str += "asdfasdf" ;
str += "asdfasdf" ;
str += "asdfasdf" ;
str += "asdfasdf" ;
str += "asdfasdf" ;
str += "asdfasdf" ;
str += "asdfasdf" ;
str += "asdfasdf" ;
str += "asdfasdf" ;
str += "asdfasdf" ;
str += "asdfasdf" ;
str += "asdfasdf" ;
str += "asdfasdf" ;
str += "asdfasdf" ;
str += "asdfasdf" ;
str += "asdfasdf" ;
str += "asdfasdf" ;
str += "asdfasdf" ;
str += "asdfasdf" ;
str += "asdfasdf" ;
str += "asdfasdf" ;
str += "asdfasdf" ;
str += "asdfasdf" ;
str += "asdfasdf" ;
str += "asdfasdf" ;
str += "asdfasdf" ;
str += "asdfasdf" ;
str += "asdfasdf" ;
str += "asdfasdf" ;
str += "asdfasdf" ;
str += "asdfasdf" ;
cout<<str<<endl;...
就这点代码,为什么str 加到中间的某个地方,就不在招待 str+="asdfasdf";了。str的值就不会在变化了!!
为什么呀。怎么样解决这个问题?完成如下的功能,字符串的拼接CString a ;
CString b ;
CString c ;
...
a="a";
b="b";
c="c";
...
CString result;
result = a+b+c+...
int _tmain(.......................
...
CString str;
str = "" ;
str += "asdfasdf" ;
str += "asdfasdf" ;
str += "asdfasdf" ;
str += "asdfasdf" ;
str += "asdfasdf" ;
str += "asdfasdf" ;
str += "asdfasdf" ;
str += "asdfasdf" ;
str += "asdfasdf" ;
str += "asdfasdf" ;
str += "asdfasdf" ;
str += "asdfasdf" ;
str += "asdfasdf" ;
str += "asdfasdf" ;
str += "asdfasdf" ;
str += "asdfasdf" ;
str += "asdfasdf" ;
str += "asdfasdf" ;
str += "asdfasdf" ;
str += "asdfasdf" ;
str += "asdfasdf" ;
str += "asdfasdf" ;
str += "asdfasdf" ;
str += "asdfasdf" ;
str += "asdfasdf" ;
str += "asdfasdf" ;
str += "asdfasdf" ;
str += "asdfasdf" ;
str += "asdfasdf" ;
str += "asdfasdf" ;
str += "asdfasdf" ;
str += "asdfasdf" ;
str += "asdfasdf" ;
str += "asdfasdf" ;
str += "asdfasdf" ;
str += "asdfasdf" ;
str += "asdfasdf" ;
str += "asdfasdf" ;
str += "asdfasdf" ;
str += "asdfasdf" ;
str += "asdfasdf" ;
str += "asdfasdf" ;
str += "asdfasdf" ;
str += "asdfasdf" ;
str += "asdfasdf" ;
str += "asdfasdf" ;
str += "asdfasdf" ;
cout<<str<<endl;...
就这点代码,为什么str 加到中间的某个地方,就不在招待 str+="asdfasdf";了。str的值就不会在变化了!!
为什么呀。怎么样解决这个问题?完成如下的功能,字符串的拼接CString a ;
CString b ;
CString c ;
...
a="a";
b="b";
c="c";
...
CString result;
result = a+b+c+...
另,好象要改为 cout << (LPCTSTR)str << endl;
总是找到了。是VC编辑器的总是,它只显示了字符串中的一段数据。
那就请列举几个字符串拼接的方法吧。(跟据所提供的方法,结分)
char + char
CString + char
char + CString
char = LPCTSTR + LPCTSTR
...
请知道的朋友多举例子。 谢谢
先把菜单里的工程->设置->选Use MFC in a Static library
#include "Afx.h"
#include "iostream.h"
void main()
{
CString str;
str = "" ;
str += "asdfasdf" ;
str += "asdfasdf" ;
str += "asdfasdf" ;
str += "asdfasdf" ;
str += "asdfasdf" ;
str += "asdfasdf" ;
str += "asdfasdf" ;
str += "asdfasdf" ;
str += "asdfasdf" ;
str += "asdfasdf" ;
str += "asdfasdf" ;
str += "asdfasdf" ;
str += "asdfasdf" ;
str += "asdfasdf" ;
str += "asdfasdf" ;
str += "asdfasdf" ;
str += "asdfasdf" ;
str += "asdfasdf" ;
str += "asdfasdf" ;
str += "asdfasdf" ;
str += "asdfasdf" ;
str += "asdfasdf" ;
str += "asdfasdf" ;
str += "asdfasdf" ;
str += "asdfasdf" ;
str += "asdfasdf" ;
str += "asdfasdf" ;
str += "asdfasdf" ;
str += "asdfasdf" ;
str += "asdfasdf" ;
str += "asdfasdf" ;
str += "asdfasdf" ;
str += "asdfasdf" ;
str += "asdfasdf" ;
str += "asdfasdf" ;
str += "asdfasdf" ;
str += "asdfasdf" ;
str += "asdfasdf" ;
str += "asdfasdf" ;
str += "asdfasdf" ;
str += "asdfasdf" ;
str += "asdfasdf" ;
str += "asdfasdf" ;
str += "asdfasdf" ;
str += "asdfasdf" ;
str += "asdfasdf" ;
str += "asdfasdf" ;
cout<<str<<endl;
}
char s1[10]="fda";
char s2[10]="ppp";
strcat(s1,s2);
//s1="fdappp"CString+CString
CString a="fda";
CString b="eewe";
a+=b;CString=CString +char
char s1="fda";
CString s2="ppp";
CString temp;
temp.Format(s1);
s2+=temp;
//s2="pppfda"char=CString +char
char buf[100];
char s1[10]="fda";
CString s2="ppp";
char *temp;
temp=str.GetBuffer(0);
strcat(buf,s1);
strcat(buf,temp);
//buf="fdappp"
如果想在调试环境看到所有的字符串,可以考虑使用TRACE来显示Debug string
呵呵,你在哪里看str的变化啊?如果是在调试VC时在watch或viriables窗口里看,确实是那样的。内容的长度有限制!
:)可以用TRACE宏,把STR输出到output窗口里或print出去,你就会看到它不断变化了。 ^-^
如afxDump << str << "\n";
TRACE也可以带变量,它们是:TRACE1,TRACE2,TRACE3