65,208
社区成员
发帖
与我相关
我的任务
分享char s1[]="abc";
char s2[]="def";
char s12[100];
sprintf(s12,"%s%s",s1,s2);
作为一个C程序员,对
scanf,sscanf,fscanf
printf,sprintf,fprintf
这类函数的用法,还是要做到“拳不离手,曲不离口”的。
"abc""efg" == "abc" "efg" ==
"abc"
"efg"
=="abcefg"
2)C非常量字符串,自然要用strcat了,不然,自己写函数实现。
3)C++ string 字符串类,+,+=就是连接符,这个类重载了operator +(),operator +=()。
string a("abc");
a+="efg";
cout<<a<<endl;
cout<< a+"hij"<<endl;
cout<<string ("abc")+"efg"<<endl;
int ConnectString(char *pszDest,...)
{
char *pTemp;
const char *pszSrc;
va_list pArgList;
pTemp=pszDest;
va_start(pArgList,pszDest);
while ((pszSrc=va_arg(pArgList,const char *))!=NULL)
{
while (*pszSrc!=0)
{
*(pTemp++)=*(pszSrc++);
}
}
va_end(pArgList);
*pTemp=0;
return pTemp-pszDest;
}
用法:
char p[100],p1[]="123",p2[]="456",p3[]="789";
iLength=ConnectString(p,p1,p2,p3,NULL);