Bagikan melalui


Fungsi to

to Setiap fungsi dan makro terkait, jika ada, mengonversi satu karakter ke karakter lain.

__toascii
tolower, _tolower, towlower
toupper, _toupper, towupper

Keterangan

Fungsi to dan konversi makro adalah sebagai berikut.

Rutin Makro Deskripsi
__toascii __toascii Mengonversi c ke karakter ASCII
tolower tolower c Mengonversi ke huruf kecil jika sesuai
_tolower _tolower c Mengonversi ke huruf kecil
towlower Tidak ada Mengonversi c ke huruf kecil karakter lebar yang sesuai
toupper toupper Mengonversi c ke huruf besar jika sesuai
_toupper _toupper Mengonversi c ke huruf besar
towupper Tidak ada Mengonversi c ke huruf besar karakter lebar yang sesuai

Untuk menggunakan versi to fungsi dari rutinitas yang juga didefinisikan sebagai makro, hapus definisi makro dengan #undef direktif atau jangan sertakan CTYPE.H. Jika Anda menggunakan opsi kompilator /Za, pengkompilasi menggunakan versi toupper fungsi atau tolower. Deklarasi toupper fungsi dan tolower ada di STDLIB.H.

Rutinitas __toascii mengatur semua kecuali urutan rendah 7 bit c hingga 0, sehingga nilai yang dikonversi mewakili karakter dalam set karakter ASCII. Jika c sudah mewakili karakter ASCII, c tidak berubah.

Rutinitas tolower dan toupper :

  • Bergantung pada LC_CTYPE kategori lokal saat ini (tolower panggilan isupper dan toupper panggilan islower).
  • Konversi c jika c mewakili huruf yang dapat dikonversi dari kasus yang sesuai dalam lokal saat ini dan kasus yang berlawanan ada untuk lokal tersebut. Jika tidak, c tidak berubah.

Rutinitas _tolower dan _toupper :

  • Apakah versi lokal independen, jauh lebih cepat dari tolower dan toupper.
  • Hanya dapat digunakan ketika isascii(c) dan isupper(c) atau islower(c), masing-masing, nonzero.
  • Memiliki hasil yang tidak terdefinisi jika c bukan huruf ASCII dari kasus yang sesuai untuk dikonversi.

Fungsi towlower dan towupper mengembalikan salinan c if yang dikonversi dan hanya jika kedua kondisi berikut bukan nol. Jika tidak, c tidak berubah.

  • c adalah karakter luas dari kasus yang sesuai (yaitu, yang iswupper masing-masing atau bunga adalah bukan nol).
  • Ada karakter luas yang sesuai dari kasus target (yaitu, yang iswlower masing-masing atau iswupper , bukan nol).

Contoh

// crt_toupper.c
/* This program uses toupper and tolower to
 * analyze all characters between 0x0 and 0x7F. It also
 * applies _toupper and _tolower to any code in this
 * range for which these functions make sense.
 */

#include <ctype.h>
#include <string.h>
#include <stdio.h>

char msg[] = "Some of THESE letters are Uppercase.";
char *p;

int main( void )
{
   printf( "%s\n", msg );

   /* Reverse case of message. */
   for( p = msg; p < msg + strlen( msg ); p++ )
   {
      if( islower( *p ) )
         putchar( _toupper( *p ) );
      else if( isupper( *p ) )
         putchar( _tolower( *p ) );
      else
         putchar( *p );
   }
}
Some of THESE letters are Uppercase.
sOME OF these LETTERS ARE uPPERCASE.

Baca juga

Konversi data
Locale
is, isw rutinitas