字符串操作

在进行字符串操作的时候需要添加string头文件声明
#include <string.h>   (<string>不加.h也可以,但是这个是c++版本的头文件)
1.求字符串长度:
char类型字符串: 使用strlen()函数进行字符串的长度计算;  
    char cBuf[] = "wolven";
    int nLength = strlen(cBuf);  #strlen计算字符串长度(不含终止符00)
    printf("char Length:%d\n", nLength);
wchar_t类型字符串:使用wcslen()函数进行wchar_t型字符串的长度计算。
    #include <string.h>  #wcslen()在string.h头文件中被包含
    wchar_t wcBuf[] = L"wolvenchan";#不加L表示char类型字符串
    int wcLength = wcslen(wcBuf); #wcslen()用来计算wchar_t类型字符串长度
    printf("wchar_t Length:%d\n", wcLength);
2.字符串拼接:
char 类型 sprintf()
wchar_t 类型 wsprintf() 
​
char cBuf[] = "wolven";
char cBufA[] = "Hello";
int nLength = strlen(cBuf);
​
char cBuffer[100]; #声明一个数组用于存储拼接后的字符串
sprintf(cBuffer, "%s %s %d", cBufA,cBuf,nLength);#将cBufA,cBuf以及cBuf字符串长度进行拼接
​
printf("%s", cBuffer);#输出拼接内容
​
注意:sprintf是一个不安全的函数,在使用的时候会警告并且报警,这个时候可以在预处理器定义中将宏定义_CRT_SECURE_NO_WARNINGS添加进去,抑制报警。
(解决方案中右击项目->属性->C/C++->预处理器->预处理器定义添加即可)

其余操作
strcat字符串拼接:
char *strcat(char *dest, const char *src);
strcat(数组1,要进行拼接的字符串) ;
拼接两次的话会覆盖前一段字符串的结束符。
​
如果在空数组空间不够大,则会造成空间越界问题。
strcat函数比较不安全,所以微软也推出了strcat_s函数,但是这个函数不具备跨平台性,所以在编写恶意程序时不推荐使用。
​
​
strcpy字符串拷贝(也需要进行空间审查,否则会有越界风险;)
strcpy(存放拷贝后字符串的数组,要拷贝字符串);
Eg: 
    char src[50], dest[50];
 
   strcpy(src,  "This is source");
   strcpy(dest, "This is destination");
 
​
strcmp()字符串比较(字符串是否一样;长度+内容)
strcmp(字符串1,字符串2);
结果0 表示两个字符串一样(一致)
   1 表示两个字符串不一样(不一致)
   
Eg:
    if (!strcmp(sStrA, sStrB))
    {
        printf("Both the Strings are the same! ");
    }
    else
    {
        printf("the two Stings are different!");
    }
两个字符串完全一样结果才为0,否则结果为1.
使用的时候,可以先判断存放拼接字符串的数组长度,以免造成拷贝或者多次拼接造成空间越界
判断的方式:sizeof()判断数据空间多长   
          strlen()判断有效字符串多长   =>得出空余部分
         计算要拼接/拷贝进来的字符由多长查看是否足够存放(虽然麻烦但是通用)
  • 10
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值