字符型的常用技巧

1、string*\string\char\char的转换关系
char
可直接转换为string:
char* b=“adfa”;
string a=b;
char* c=a.c_str();
2、string和其他类型的转换
(https://www.cnblogs.com/lyf-sunicey/p/8679183.html这篇文章写的更好,他直接列了个表)
(1)int:
int转换为string
在这里插入图片描述(2)string/char转换为int类型
将string类型转为int类型需要进行:
1、首先将 字符串string 转为 C语言中的 const char* 类型(使用 _c.str()函数)
2、将 const char* 转为 int 类型(使用atoi(const char *)函数)
int num == atoi( nums.c_str())

(3)string/char转换为double类型
将string类型转为int类型需要进行:
1、首先将 字符串string 转为 C语言中的 const char* 类型(使用 _c.str()函数)
2、将 const char* 转为 double 类型(使用atof(const char *)函数)
double num == atof( nums.c_str())

3、从string中截取一部分
(1)返回子串出现在母串中的首次出现的位置,和最后一次出现的位置:

char*  flag = "c";
int     position = s.find_first_of(flag);
        printf("s.find_first_of(flag) is :%d\n",position);
int         position = s.find_last_of(flag);
       printf("s.find_last_of(flag) is :%d\n",position);

(2)在字符串 haystack 中查找第一次出现字符串 needle 的位置,不包含终止符 ‘\0’:

char *strstr(const char *haystack, const char *needle)

参数
haystack – 要被检索的 C 字符串。
needle – 在 haystack 字符串内要搜索的小字符串。
返回值
该函数返回在 haystack 中第一次出现 needle 字符串的位置,如果未找到则返回 null。
eg:#include <stdio.h>
#include <string.h>
int main()
{
const char haystack[20] = “RUNOOB”;
const char needle[10] = “NOOB”;
char *ret;
ret = strstr(haystack, needle);
printf(“子字符串是: %s\n”, ret);
return(0);}
(3)从字符串中截取字符:
str=substring(int startIndex);截取掉str从首字母起长度为startIndex的字符串,将剩余字符串赋值给str;
str2=substring(string str1, int startIndex,int endIndex);截取str1中从startIndex开始至endIndex结束时的字符串,并将其赋值给str2;
eg:

string haystack = "12345.000";
char* flag = ".000";
int position = haystack.find_first_of(flag);
string str=substr(haystack,0,position);

返回值是12345

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值