溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

C++字符串大小寫(xiě)轉(zhuǎn)換方法

發(fā)布時(shí)間:2024-10-09 14:03:18 來(lái)源:億速云 閱讀:78 作者:小樊 欄目:編程語(yǔ)言

在C++中,可以使用標(biāo)準(zhǔn)庫(kù)中的<algorithm><cctype>頭文件提供的函數(shù)來(lái)實(shí)現(xiàn)字符串的大小寫(xiě)轉(zhuǎn)換。以下是兩種常見(jiàn)的方法:

方法一:使用std::transformstd::toupper/std::tolower函數(shù)

#include <iostream>
#include <string>
#include <algorithm>
#include <cctype>

std::string toUpperCase(const std::string& str) {
    std::string result = str;
    std::transform(result.begin(), result.end(), result.begin(), ::toupper);
    return result;
}

std::string toLowerCase(const std::string& str) {
    std::string result = str;
    std::transform(result.begin(), result.end(), result.begin(), ::tolower);
    return result;
}

int main() {
    std::string str = "Hello, World!";
    std::cout << "Original string: " << str << std::endl;
    std::cout << "Uppercase string: " << toUpperCase(str) << std::endl;
    std::cout << "Lowercase string: " << toLowerCase(str) << std::endl;
    return 0;
}

方法二:使用std::algorithmstd::swap函數(shù)

#include <iostream>
#include <string>
#include <algorithm>

void toUpperCase(std::string& str) {
    std::swap(str[0], str[0] | 32);
    for (size_t i = 1; i < str.size(); ++i) {
        str[i] = std::toupper(str[i]);
    }
}

void toLowerCase(std::string& str) {
    std::swap(str[0], str[0] & ~32);
    for (size_t i = 1; i < str.size(); ++i) {
        str[i] = std::tolower(str[i]);
    }
}

int main() {
    std::string str = "Hello, World!";
    std::cout << "Original string: " << str << std::endl;
    toUpperCase(str);
    std::cout << "Uppercase string: " << str << std::endl;
    toLowerCase(str);
    std::cout << "Lowercase string: " << str << std::endl;
    return 0;
}

這兩種方法都可以實(shí)現(xiàn)字符串的大小寫(xiě)轉(zhuǎn)換。第一種方法使用了std::transformstd::toupper/std::tolower函數(shù),而第二種方法使用了std::algorithmstd::swap函數(shù)。你可以根據(jù)自己的需求和喜好選擇其中一種方法。

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

c++
AI