当涉及到处理具有空格、特殊字符和格式的字符串的 C++ 编程时,这可能是一个相当大的障碍。幸运的是有std::引用来救援的函数。它提供了一种处理和操作字符串的输入和输出,同时保留其格式的方法。在本文中,我们将探讨 std::quoted 的概念。看看如何有效地利用它。
在 C++14 版本以及更高版本中std::引用function 为前面提到的挑战提供了一个解决方案。它允许您安全地处理包含空格和特殊字符的字符串,同时保持其格式完整。该函数定义在<iomanip>标头。当与 std::getline 函数一起使用时,它变得特别方便。
用法
使用 std::quoted 的语法如下:
std::quoted(str)
其中,
- str是字符串输入。
std::quoted 的示例
下面的例子将帮助我们理解std::quoted在C++程序中的使用。
示例 1:
- 代码首先使用#include 指令包含头文件。
- 我们定义一个名为 “input” 的 std::string 类型变量,并使用格式化内容“Hello, World!”对其进行初始化。
- 接下来,我们使用 std::cout 显示内容,演示应用 std::quoted 之前的外观。
- 为了将内容封装在引号内并保护任何字符或空格,我们使用 std::quoted 函数并输出其引用版本。
C++14
// C++ Program to illustrate std::quote in C++14
#include <iostream>
#include <iomanip>
#include <string>
int main() {
// Define a string variable with formatted content
std::string input = "Hello, Geeks!";
// Display the original content
std::cout << "Original content: " << input << std::endl;
// Output the quoted content using std::quoted
std::cout << "Quoted content: " << std::quoted(input) << std::endl;
return 0;
}
输出
Original content: Hello, Geeks! Quoted content: "Hello, Geeks!"
示例 2:
- 现在让我们声明一个名为 “Input” 的 std::string 类型的变量来存储用户的输入。
- 在此示例中,我们通过将带有格式化元素的字符串分配给 Input 来模拟用户输入。
- 为了展示原始输入,我们按原样显示其预期格式。
- 最后再次使用 std::quoted 我们输出用户输入的引用版本。这可确保准确保留和显示任何空格或特殊字符。
C++14
// C++ Program to illustrate std::quote in C++14
#include <iostream>
#include <iomanip>
#include <string>
int main() {
std::string Input;
// Simulate user input
Input = "Hello, Geek! Have you solved any coding problem today?";
// Display original user input
std::cout << "Original Input: " << Input << std::endl;
// Output quoted user input
std::cout << "Quoted Input: " << std::quoted(Input) << std::endl;
return 0;
}
输出
Original Input: Hello, Geek! Have you solved any coding problem today? Quoted Input: "Hello, Geek! Have you solved any coding problem today?"
相关文章:
相关用法
- C++14 std::integer_sequence用法及代码示例
- C++14 std::make_unique用法及代码示例
- C++17 std::clamp用法及代码示例
- C++17 std::lcm用法及代码示例
- C++17 std::variant用法及代码示例
- C++11 std::initializer_list用法及代码示例
- C++11 std::move_iterator用法及代码示例
- C++17 std::cyl_bessel_i用法及代码示例
- C++ cos()用法及代码示例
- C++ sin()用法及代码示例
- C++ asin()用法及代码示例
- C++ atan()用法及代码示例
- C++ atan2()用法及代码示例
- C++ acos()用法及代码示例
- C++ tan()用法及代码示例
- C++ sinh()用法及代码示例
- C++ ceil()用法及代码示例
- C++ tanh()用法及代码示例
- C++ fmod()用法及代码示例
- C++ acosh()用法及代码示例
- C++ asinh()用法及代码示例
- C++ floor()用法及代码示例
- C++ atanh()用法及代码示例
- C++ log()用法及代码示例
- C++ trunc()用法及代码示例
注:本文由纯净天空筛选整理自zaidkhan15大神的英文原创作品 std::quoted in C++ 14。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。