C++中的一些字符串处理函数小总结

  1. strcpy和strncpy复制字符串:

strcpy将第二个参数(字符串)复制到第一个参数(字符数组)中,注意,两个参数都是字符数组,而且第一个数组的长度要大于字符串的长度。

strncpy除了指定从字符串复制到字符数组的字符个数外,其他和strcpy相似

例如:

 char data1[11];

char data2[] = "hello";

strcpy(data1,data2);

strncpy(data1,data2,5);
  1. strtok进行字符串的分割,记号化字符串

函数原型:char *strtok(char *s,char *parameter )

参数s指向将要被分隔的字符串,参数parameter为分隔字符串,当strtok()在参数s的字符串中发现到参数parameter的分隔字符时,则会将该字符改为’\0’字符,在第一次调用时,strtok()必需给予参数s字符串,往后的调用则将参数s设置成NULL.每次调用成功则返回被分隔片段的指针,目前暂且且不是很清楚其中的原理

include <iostream>   
include <cstring>   

using namespace std;   

int main()   

{   

char sentence[]="This is a sentence with 7 tokens";  



cout<<"The string to be tokenized is:\n"

<<sentence<<"\n\nThe tokens are:\n\n";



char *tokenPtr=strtok(sentence," ");



while(tokenPtr!=NULL) {   

cout<<tokenPtr<<'\n';   

tokenPtr=strtok(NULL," ");   

}




cout<<"After strtok, sentence = "<<sentence<<endl;   

return 0;   

}

由于在分割时加入了’\0’的终止字符,所以在打印sentence时只会出现
This

打印结果:

This
is
a
sentence
with
7
tokens
After strtok, sentence = This
  1. strcat和strncat连接字符串
srtcat中将第二个字符串连接到第一个字符数组的尾部,所以,一定要确保第一个字符数组的长度足够大,可以容纳第二个字符串长度。第二个参数所代表的字符串的第一个字符会将第一个字符数组末尾的终止字符替换掉,所以要保证第一个数组的长度可以容纳第二个字符长度和一个终止字符。

 strncat将制定个数的字符连接到第一个中。
  1. strcmp和strncmp比较字符串,其比较是根据ASCLL码来比较大小,例如:

int strmcp(char * data1,char * data2);如果data1为Hello,data2为Hella,那么data1大于data2。

在比较中,相等返回0,第一个大,返回1,第二个大,返回-1.

  1. strlen确定字符串的长度

    strlen以一个字符串作为参数,返回该字符串中的字符数,不包含终止字符

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值