21xrx.com
2024-11-10 00:52:41 Sunday
登录
文章检索 我的文章 写文章
C++字符串切割教程
2023-07-05 07:18:00 深夜i     --     --
C++ 字符串 切割 教程 字符串处理

在C++中,字符串切割是一个非常常见的任务。它对于处理文本文件和解析数据文件非常重要。在本教程中,我们将介绍如何在C++中进行字符串切割。我们将使用C++标准库中的字符串类和STL中的向量来实现它。

步骤1:包括必要的头文件

我们需要包括头文件 ,以便能够使用字符串类和向量类。


#include <iostream>

#include <string>

#include <vector>

using namespace std;

步骤2:定义一个函数来切割字符串

我们需要定义一个函数来切割字符串。这个函数将接收一个字符串作为输入,并返回一个向量,其中包含切割后的子字符串。


vector<string> split(const string& str, const string& delim) {

  vector<string> res;

  if("" == str) return res;

  char* strs = new char[str.length() + 1] ;

  strcpy(strs, str.c_str());

  char* d = new char[delim.length() + 1];

  strcpy(d, delim.c_str());

  char* p = strtok(strs, d);

  while(p) {

    string s = p;

    res.push_back(s);

    p = strtok(NULL, d);

  }

  return res;

}

步骤3:测试字符串切割函数

为了测试我们的字符串切割函数,我们可以编写一个简单的程序。以下是一个示例程序:


int main() {

  string str = "I am a string, yeah!";

  vector<string> res = split(str, " ");

  for(int i = 0; i < res.size(); ++i) {

    cout << res[i] << endl;

  }

  return 0;

}

在这个程序中,我们首先定义一个字符串变量str,然后调用split()函数来将字符串切割为子字符串,并将结果存储在向量res中。最后,我们循环遍历向量res,并输出每个子字符串。

当我们编译并运行程序时,它将输出以下内容:


I

am

a

string,

yeah!

如此简单地就实现了字符串切割。这个函数可以适用于任何需要将字符串切割为子字符串的场景。

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复