當涉及到處理具有空格、特殊字符和格式的字符串的 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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。