當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


C++ tolower()用法及代碼示例


在本教程中,我們將借助示例了解 C++ tolower() 函數。

C++ 中的tolower() 函數將給定字符轉換為小寫。它在cctype 頭文件中定義。

示例

#include <iostream>
#include <cctype>
using namespace std;

int main() {

  // convert 'A' to lowercase
  char ch = tolower('A');

  cout << ch;

  return 0;
}

// Output: a

tolower() 語法

用法:

tolower(int ch);

參數:

tolower() 函數接受以下參數:

  • ch- 一個角色,投射到int輸入或EOF

返回:

tolower() 函數返回:

  • 對於字母- 小寫版本的 ASCII 碼ch
  • 對於非字母- 的 ASCII 碼ch

tolower() 原型

cctype頭文件中定義的tolower()的函數原型為:

int tolower(int ch);

正如我們所看到的,字符參數ch被轉換為int,即它的ASCII碼。

由於返回類型也是int , tolower(),所以返回轉換後字符的ASCII碼。

tolower() 未定義行為

的行為tolower()不明確的如果:

  • ch 的值不能表示為 unsigned char ,或者
  • ch 的值不等於 EOF

示例 1:C++ tolower()

#include <cctype>
#include <iostream>
using namespace std;

int main() {
  char c1 = 'A', c2 = 'b', c3 = '9';

  cout << (char) tolower(c1) << endl;
  cout << (char) tolower(c2) << endl;
  cout << (char) tolower(c3);

  return 0;
}

輸出

a
b
9

在這裏,我們使用 tolower() 將字符 c1 , c2c3 轉換為小寫。

注意打印輸出的代碼:

cout << (char) tolower(c1) << endl;

在這裏,我們使用代碼 (char) tolower(c1)tolower(c1) 的返回值轉換為 char

另請注意,最初:

  • c2 = 'b'tolower() 返回相同的值
  • c3 = '9'tolower() 返回相同的值

示例 2:沒有類型轉換的 C++ tolower()

#include <cctype>
#include <iostream>
using namespace std;

int main() {
  char c1 = 'A', c2 = 'b', c3 = '9';

  cout << tolower(c1) << endl;
  cout << tolower(c2) << endl;
  cout << tolower(c3);

  return 0;
}

輸出

97
98
57

在這裏,我們使用 tolower() 將字符 c1 , c2c3 轉換為小寫。

但是,我們還沒有將 tolower() 的返回值轉換為 char 。所以,這個程序打印轉換後的字符的 ASCII 值,它們是:

  • 97 - 'a' 的 ASCII 碼
  • 98 - 'b' 的 ASCII 碼
  • 57 - '9' 的 ASCII 碼

示例 3:帶有字符串的 C++ tolower()

#include <cctype>
#include <iostream>
#include <cstring>
using namespace std;

int main() {
  char str[] = "John is from USA.";
  char ch;

  cout << "The lowercase version of \"" << str << "\" is " << endl;

  for (int i = 0; i < strlen(str); i++) {

    // convert str[i] to lowercase
    ch = tolower(str[i]);

    cout << ch;
  }

  return 0;
}

輸出

The lowercase version of "John is from USA." is 
john is from usa.

在這裏,我們創建了一個 C-string str ,其值為 "John is from USA."

然後,我們使用for 循環將str 的所有字符轉換為小寫。循環從 i = 0 運行到 i = strlen(str) - 1

for (int i = 0; i < strlen(str); i++) {
...
}

換句話說,循環遍曆整個字符串,因為 strlen() 給出了 str 的長度。

在循環的每次迭代中,我們將字符串元素 str[i](字符串的單個字符)轉換為小寫並將其存儲在 char 變量 ch 中。

ch = tolower(str[i]);

然後我們在循環內打印ch。在循環結束時,整個字符串都以小寫形式打印。

相關用法


注:本文由純淨天空篩選整理自 C++ tolower()。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。