D編程 字符(Character)

2021-09-01 10:27 更新

字符由char類(lèi)型表示,只能容納256個(gè)不同的值。

類(lèi)型存儲(chǔ)空間用途
char1個(gè)字節(jié)UTF-8代碼單元
wchar2個(gè)字節(jié)UTF-16代碼單元
dchar4個(gè)字節(jié)UTF-32代碼單元和Unicode代碼點(diǎn)

下面列出了一些有用的字符函數(shù)-

  • isLower     -  確定是否使用小寫(xiě)字符
  • isUpper     -  確定是否大寫(xiě)字符
  • isAlpha     -  確定是Unicode字母數(shù)字字符(通常是字母還是數(shù)字)
  • isWhite     -  確定是否有空格字符
  • toLower    -  產(chǎn)生給定字符的小寫(xiě)字母
  • toUpper    -  產(chǎn)生給定字符的大寫(xiě)字母
import std.stdio;
import std.uni;

void main() { 
   writeln("Is ? lowercase? ", isLower('?')); 
   writeln("Is ? lowercase? ", isLower('?'));  
   
   writeln("Is ? uppercase? ", isUpper('?')); 
   writeln("Is ? uppercase? ", isUpper('?')); 
   
   writeln("Is z alphanumeric? ",       isAlpha('z'));  
   writeln("Is new-line whitespace? ",  isWhite('\n')); 
   
   writeln("Is underline whitespace? ", isWhite('_'));  
   
   writeln("The lowercase of ?: ", toLower('?')); 
   writeln("The lowercase of ?: ", toLower('?')); 
   
   writeln("The uppercase of ?: ", toUpper('?')); 
   writeln("The uppercase of ?: ", toUpper('?')); 
}

編譯并執(zhí)行上述代碼后,將產(chǎn)生以下輸出-

Is ? lowercase? true 
Is ? lowercase? false 
Is ? uppercase? true 
Is ? uppercase? false
Is z alphanumeric? true 
Is new-line whitespace? true 
Is underline whitespace? false 
The lowercase of ?: ? 
The lowercase of ?: i 
The uppercase of ?: ? 
The uppercase of ?: I 

讀取字符

我們可以使用 readf 讀取字符,如下所示。

readf(" %s", &letter);

由于D編程支持unicode,因此為了讀取unicode字符,我們需要讀取兩次并寫(xiě)入兩次才能獲得預(yù)期的輸出。該如下所示。

import std.stdio;

void main() { 
   char firstCode; 
   char secondCode; 
   
   write("Please enter a letter: "); 
   readf(" %s", &firstCode); 
   readf(" %s", &secondCode); 
   
   writeln("The letter that has been read: ", firstCode, secondCode); 
} 

編譯并執(zhí)行上述代碼后,將產(chǎn)生以下輸出-

Please enter a letter: ? 
The letter that has been read: ?


以上內(nèi)容是否對(duì)您有幫助:
在線(xiàn)筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)