zoukankan      html  css  js  c++  java
  • c++常用字符串操作

    一、字符串分割

    函数:strtok

    原型: char *strtok(char *str, const char *delim);

    功能:分解字符串为一组字符串。

    参数说明:str为要分解的字符串,delim为分隔符字符串。

    返回值:从str开头开始的一个个被分割的串。当没有被分割的串时则返回NULL

    二、字符串查找

    函数:find函数
    原型:size_t find ( const string& str, size_t pos = 0 ) const;
    功能:查找子字符串第一次出现的位置。
    参数说明:str为子字符串,pos为初始查找位置。
    返回值:找到的话返回第一次出现的位置,否则返回string::npos 

    三、求取子字符串

    函数:substr函数
    原型:string substr ( size_t pos = 0, size_t n = npos ) const;
    功能:获得子字符串。
    参数说明:pos为起始位置(默认为0),n为结束位置(默认为npos)
    返回值:子字符串 

    四、string转换为char

    方法1:

    函数:const char *c_str();

    注意:c_str函数的返回值是const char*的,不能直接赋值给char*,一定要使用strcpy()函数 等来操作方法c_str()返回的指针;

    用法:

    最好不要像下面这样使用:

    1 string str1="Hello";
    2 char *str2=const_cast<char*>(str1.c_str());

    正确的用法是使用strcpy()来操作方法c_str()返回的指针,方法如下;

    1 char c[20];
    2 string s="hello";
    3 strcpy(c,s.c_str());

    方法2:

    函数:copy()

    用法:简单代码如下:

    1 string str="hello"; 
    2 char p[40]; 
    3 str.copy(p,5,0); //这里5,代表复制几个字符,0代表复制的位置
    4 *(p+5)=''; //要手动加上结束符

     五、数字转换为字符串

    方法1:

    利用sprintf函数;代码如下:

     1 #include <iostream>
     2 #include <string>
     3 using namespace std;
     4 
     5 int main()
     6 {
     7     int n = 65535;
     8     char t[256];
     9     string s;
    10 
    11     sprintf(t, "%d", n);
    12     s = t;
    13     cout << s << endl;
    14 
    15     return 0;
    16 }

    方法二:

    代码如下:

     1 #include <iostream>
     2 #include <string>
     3 using namespace std;
     4  
     5 int main()
     6 {
     7     int n = 65535;
     8     strstream ss;
     9     string s;
    10     ss << n;
    11     ss >> s;
    12     cout << s << endl;
    13  
    14     return 0;
    15 }

    先写这么多,日后遇到了再慢慢总结 

    参考:http://www.cnblogs.com/MikeZhang/archive/2012/03/24/mysplitfuncpp.html

  • 相关阅读:
    练习1-6 验证表达式getchar() != EOF的取值是0还是1。练习1-7 编写一个打印EOF值的程序。C程序设计语言(K&R)_第2版
    【文摘】《原则》——雷.达里奥
    Android-app-CourtCounter
    Android-入门学习笔记-面向对象编程
    Android-app-深圳图书馆信息页
    【可能有问题】Android横屏布局,固定屏幕方向
    Java笔记
    Android-入门学习笔记-交互
    Android studio清理项目构建
    【待修】Git和GitHub学习笔记
  • 原文地址:https://www.cnblogs.com/Jack-Lee/p/3633983.html
Copyright © 2011-2022 走看看