如何在 C++ 中分割字符串?17 Mar 2025 | 6 分钟阅读 本主题将讨论如何在 C++ 编程语言中将给定的字符串分割成单个单词。当我们把一组单词或字符串集合分割成单个单词时,这被称为字符串的分割或划分。然而,分割字符串只能通过一些分隔符,如空格 ( )、逗号 (,)、连字符 (-) 等,将单词分解成独立的个体。此外,没有预定义的分割函数来将字符串集合分割成单个字符串。因此,在这里我们将学习在 C++ 中将字符串分割成单个字符串的不同方法。 ![]() 在 C++ 中实现字符串分割的不同方法
使用 strtok() 函数分割字符串strtok(): strtok() 函数用于根据传递的分隔符将原始字符串分割成片段或标记。 语法 在上述语法中,strtok() 有两个参数,str 和 delim。 str:str 是 strtok() 函数用来分割字符串的原始字符串。 delim:它是一个用于分割字符串的字符。例如,逗号 (,)、空格 ( )、连字符 (-) 等。 返回:它返回一个指向下一个字符标记的指针。最初,它指向字符串的第一个标记。 注意:strtok() 函数会修改原始字符串,并在每次调用 strtok() 函数时在分隔符位置放置一个 NULL 字符 ('\0')。通过这种方式,它可以轻松跟踪标记的状态。使用 strtok() 函数分割字符串的程序让我们考虑一个使用 strtok() 函数在 C++ 中分割字符串的例子。 Program.cpp 输出 Enter a string: Learn how to split a string in C++ using the strtok() function. Split string using strtok() function: Learn how to split a string in C++ Using the strtok() function. 使用自定义 split() 函数分割字符串的程序让我们编写一个程序,使用自定义 split() 函数在 C++ 中分割字符串序列。 Program2.cpp 输出 The split string is: i : 0 Program i : 1 to i : 2 split i : 3 strings i : 4 using i : 5 custom i : 6 split i : 7 function. 使用 std::getline() 函数分割字符串getline() 函数是 C++ 的标准库函数,用于从输入流中读取字符串并将其放入字符串向量中,直到找到分隔符。我们可以通过导入 <string> 头文件来使用 std::getline() 函数。 语法 它有三个参数 str: str 是存储原始字符串的变量。 token: 它存储从原始字符串中提取的字符串标记。 delim: 它是一个用于分割字符串的字符。例如,逗号 (,)、空格 ( )、连字符 (-) 等。 使用 getline() 函数分割字符串的程序让我们考虑一个使用 getline() 函数在 C++ 中分割字符串的例子。 Program3.cpp 输出 Welcome to the JavaTpoint and Learn C++ Programming Language. Welcome to the JavaTpoint and Learn C++ Programming Language. 使用 getline() 函数分割给定字符串的程序让我们考虑一个使用 getline() 函数在 C++ 中分割给定字符串的例子。 Program4.cpp 输出 Your given string is: Learn How to split a string in C++ Learn How to split a string in C++ 使用 find() 和 substr() 函数分割字符串让我们编写一个程序,使用 find() 函数和 substr() 函数在 C++ 中分割给定的字符串。 Program4.cpp 输出 Your string with delimiter is: How_to_split_a_string_using_find()_and_substr()_function_in_C++ How to split a string using find() and substr() function in C++ 在上述程序中,我们在循环内部使用 find() 函数重复查找给定字符串中分隔符的出现,然后在分隔符出现时将其分割成标记。substr() 函数存储要打印的子字符串。另一方面,erase() 函数存储字符串的当前位置并移动到下一个标记,这个过程一直持续到我们获得所有分割的字符串。 |
引言 在黄金比例之后,Wythoff 序列是组合博弈论中用于玩家移动的数学组合。它以 Willem Abraham Wythoff 的名字命名,他根据具有与黄金分割的奇特关系的斐波那契数列创建了一个序列。在这个...
阅读 15 分钟
简介:Cooley-Tukey 快速傅立叶变换 (FFT) 算法是计算复数序列或数组离散傅立叶变换 (DFT) 的一种广泛使用且高效的方法。它由 J.W. Cooley 和 John Tukey 于 1965 年引入,此后已成为基础......
14 分钟阅读
引言 一个著名的数学序列被称为“康托尔序列”,它是通过对给定数字网格的 it 表示进行之字形排列而构建的。康托尔序列经常出现在数学的各个分支中,例如数论,甚至在……
阅读 10 分钟
引言:零和博弈论中的一种博弈,其中一个玩家的损失将等于另一个玩家的收益。它对于竞争的设定至关重要,其中由对手的战略行为决定。在经济学中,...
7 分钟阅读
多边形数多年来一直引起人们的兴趣。一种称为三十边形数的数字与32边形(一种具有32条边的形状)相关。如果我们以特定的模式排列点,该集合中的所有数字都可以通过完全填充来表示...
7 分钟阅读
在本文中,您将学习 C++ 中的后缀 Trie,包括其历史、实现、应用、优点和缺点。C++ 中的 Trie 是什么?Trie 也称为前缀树。它是一种树状数据结构,用于...
阅读 10 分钟
简介 C++ 中输入流库的一个重要组成部分是 std::basic_istream::sentry 类,它旨在在执行 I/O 操作之前控制信息流对象的当前条件和能力。Sentry 是一个应用程序类,它确保用户输入操作被执行... ...
阅读 6 分钟
“接雨水”问题是一个著名的计算挑战,它展示了利用算法思维解决现实世界问题的应用。它需要分析一个表示高程的整数数组,以确定降雨后水可以在条形之间被截留的量。这...
11 分钟阅读
在本文中,我们将讨论。该方法属于 POSIX 库。此函数专门用于线程内 UI 开发。pthread_cond_broadcast() 函数有一个应通过多线程、条件和原理来理解的真正概念...
阅读 4 分钟
在 C++ 编程语言中,“替换失败不是错误”(SFINAE)原则表明,编译器不应因为无法替换模板参数而停止处理程序。在处理复杂代码和难以理解的逻辑时,此原则可能很有用,因为它...
阅读 4 分钟
我们请求您订阅我们的新闻通讯以获取最新更新。
我们提供所有技术(如 Java 教程、Android、Java 框架)的教程和面试问题
G-13, 2nd Floor, Sec-3, Noida, UP, 201301, India