C++中关于字符串的引用一些整理

在cout和多数C++表达式中,char数组名、char指针以及用引号括起来的字符串常量都被解释为字符串第一个字符的地址。因此对于char a[10]="abcd";C++中的cout对象认为char(其它的也是一样的)的地址是字符串的首地址,则它将从该字符开始打印,指导遇到空字符为止。
1 我们可以使用以下几种方法定义字符串:
(1)char as[20]
可以直接对它初始化 char as[20]="animal";
(2)char *bs
可以直接对它初始化 char *bs="animal";
(3)string cs
可以直接对它初始化 string cs="animal";
2 strlen() 用于求字符串的长度,strcpy()用于将字符串复制到数组中,strcat()将字符串附加到字符数组的末尾。
对于两个字符串数组不能直接复制与拼接,必须借助与函数的帮助。
char ctr1[20];
char ctr2[20]="animal";
string str1;
string str2="animal";
复制: str1=str2;
       strcpy(ctr1,ctr2);
拼接: str1+=str2;
       strcat(ctr1,ctr2);
确定字符串的字符数:
int len1=str1.size();
int len2=strlen(ctr1);
3 指针和字符串
函数无法返回一个字符串,要编写一个返回字符串的函数,可以返回字符串的地址。
char *buildstr(char c,int n)
{
    char * pstr=new char[n+1];
    pstr[n]='\0';
    while(n-->0)
         pstr[n]=c;
    return pstr;
}
char *bs=buildstr(a,10);
cout<<bs<<endl//将输出的是bs中的字符串
cout<<&bs<<endl//将输出的是bs的首地址


  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值