c character classification
Bu Eğitim C ++ Karakter ve Dönüşüm İşlevlerini Örneklerle Açıklar. Kapsanan Bazı Önemli Fonksiyonlar isdigit, islower, isupper, isalpha vb.
'Kitaplık işlevleri' ile ilgili önceki eğitimimizde, farklı veri türleri üzerinde çalışan çok sayıda işlev sağlayan çeşitli başlıkları gördük. Başlık, ayrı karakterleri sınıflandıran ve işleyen bir dizi işlev içeren böyle bir başlıktır.
=> Sıfırdan C ++ Öğrenmek İçin Burayı Ziyaret Edin.
Başlıkta bildirilen işlevler, parametre olarak tek bir karakter (int eşdeğeri) alır ve bir Boole değeri veya bir karakter değeri olabilen bir tamsayı değeri döndürür. 0 (sıfır) değeri yanlış, 0 dışındaki bir değer (sıfır olmayan) doğruyu belirtir.
Bu tek karakterli fonksiyonlar, başlık dahil edilerek programda kullanılabilir. Bu işlevler yaygın olarak kullanılır ve kabul edilir ve karakterleri test etmek, dönüştürmek veya işlemek için C ++ programlamada son derece kullanışlıdır.
Bu eğitimde, çeşitli karakter işlevlerini tartışacağız ve bu işlevlerin her birinin bir programda nasıl kullanılabileceğini göreceğiz.
Ne öğreneceksin:
C ++ Karakter İşlevleri
C ++ karakter işlevleri, parametre olarak yalnızca tek bir karakteri alan (int'e dönüştürülmüş) ve bir sonuç döndüren işlevlerdir. Bunlar, isalpha, isalnum, isdigit, islower, isupper, vb. Gibi sınıflandırma işlevleri ve belirli bir karakteri sırasıyla büyük veya küçük harfe dönüştüren toupper ve tolower gibi işlevler olabilir.
Başlıkta, aşağıda belirtildiği gibi iki tür fonksiyonumuz var.
(i) Karakter Sınıflandırma İşlevleri
Karakter sınıflandırma işlevleri, işleve bağımsız değişken olarak iletilen tek karakterin belirli bir kategoriye ait olup olmadığını kontrol etmek için kullanılır.
Aşağıdaki başlıkta yer alan karakter sınıflandırma işlevlerini tablo halinde sıraladık:
Yapma | Fonksiyon adı | İşlev Amaç |
---|---|---|
7 | daha düşük | Belirli bir karakterin küçük harf olup olmadığını kontrol eder |
1 | Isalnum | Belirli bir karakterin alfanümerik olup olmadığını kontrol eder |
iki | isalpha | Karakterin alfabetik olup olmadığını kontrol eder |
3 | boş | Karakterin boş olup olmadığını kontrol eder |
4 | iscntrl | Verilen karakterin bir kontrol karakteri olup olmadığını kontrol eder |
5 | isdigit | Verilen karakterin ondalık basamak olup olmadığını kontrol eder |
6 | izgraf | Verilen karakterin grafik gösterimi olup olmadığını kontrol eder |
8 | Yazdır | Karakterin yazdırılabilir bir karakter olup olmadığını kontrol eder |
9 | noktalı | Karakterin bir noktalama karakteri olup olmadığını kontrol eder |
10 | isspace | Karakterin bir boşluk olup olmadığını kontrol eder |
on bir | Isupper | Verilen karakterin büyük harf olup olmadığını kontrol eder |
12 | isxdigit | Karakterin onaltılık basamak olup olmadığını kontrol eder |
(ii) Karakter Dönüştürme İşlevleri
Karakter dönüştürme işlevleri, durumlar arasında dönüştürülür. Aşağıdaki işlevler dosyaya dahil edilmiştir.
Yapma | Fonksiyon adı | İşlev amacı |
---|---|---|
1 | daha düşük | Büyük harfli karakteri küçük harfe dönüştürür |
iki | toupper | Küçük harfli karakteri büyük harfe dönüştürür |
Her bir karakter işlevini (sınıflandırma ve dönüştürme) ayrıntılı olarak görelim. Ayrıca her fonksiyon için basit bir C ++ programlama örneği sunacağız.
Isalnum
İşlev Prototipi: int isalnum (int c);
Parametreler: c => Alfasayısal olup olmadığı kontrol edilmesi gereken bir karakter
Geri dönüş değeri:
sıfır olmayan => c alfanümeriktir
0 => c alfanümerik değildir
Açıklama: Bu işlev, belirli bir c karakterinin alfanümerik olup olmadığını kontrol eder. Alfasayısal olarak, bir karakterin A (a) -Z (z) veya 0 ila 9 arasında olduğu anlamına gelir.
C ++ 'da, bu işlev yerel ayara özgüdür ve tanımı başlıkta mevcuttur.
Misal:
#include #include using namespace std; int main() { char chary(12) = 'Hello World'; // checking for isalnum() function for (int i=0; i<12; i++) { if (isalnum(chary (i))) cout << chary (i) << ' is alphanumeric' << endl; else cout << chary (i) << ' is not alphanumeric' << endl; } cout << endl; }
Çıktı:
Isalpha
İşlev Prototipi: int isalpha (int c);
Parametreler: c-> Alfabetik olup olmadığı kontrol edilecek karakter.
Geri dönüş değeri:
sıfır olmayan => c alfabetiktir
0 => alfabetik değil
Açıklama: Bu işlev, belirli bir c karakterinin alfabetik karakter olup olmadığını, yani küçük ve büyük harfler arasında olup olmadığını kontrol eder. Isalnum gibi, bu işlev de kullandığımız yerel ayara bağlıdır.
Misal:
#include #include using namespace std; int main() { char ch_alpha(5) = 'sth1'; for (int i=0; i<5; i++) { if (isalpha(ch_alpha(i))) cout << ch_alpha(i) << ' is an alphabet' << endl; else cout << ch_alpha(i) << ' is not an alphabet' << endl; } cout << endl; }
Çıktı:
Isblank
İşlev Prototipi: int isblank (int c);
Parametreler: c => Kontrol edilecek karakter.
Geri dönüş değeri:
sıfır olmayan => karakter boş
0 => karakter boş değil
Açıklama: Bu işlev, verilen karakterin boşluk olup olmadığını kontrol eder. Boş karakter, bir metin satırındaki kelimeleri ayırmak için kullanılan bir boşluk karakteridir.
C ++ 'da, isblank işlevinin yerel ayara özgü sürümü.
Misal:
#include #include using namespace std; int main() { char ch_alpha(6) = 's t h'; for (int i=0; i<6; i++) { if (isblank(ch_alpha(i))) cout << ch_alpha(i) << ' is a blank' << endl; else cout << ch_alpha(i) << ' is not a blank' << endl; } cout << endl; }
Çıktı:
Çıktının 'boş değil' yazan son satırına dikkat edin. Bunun nedeni, karakter dizisinin bir değere başlatılmamış, ancak yine de bir yazdırma konumuna sahip olan son konumudur. Dolayısıyla boşluk değil.
Iscntrl
İşlev Prototipi: int iscntrl (int c);
Parametreler: c => Kontrol edilecek karakter
Geri dönüş değeri:
sıfır olmayan => c kontrol karakteridir
0 => c, kontrol karakteri değildir
Açıklama: İşlev, verilen parametrenin bir kontrol karakteri olup olmadığını kontrol eder. Kontrol karakteri, ekranda görünmeyen veya bir yazdırma pozisyonu işgal etmeyen bir karakterdir.
Misal:
#include #include using namespace std; int main() { char ch_alpha(6) = 's
t h'; for (int i=0; i<6; i++) { if (iscntrl(ch_alpha(i))) cout << ch_alpha(i) << ' is a control character' << endl; else cout << ch_alpha(i) << ' is not a control character' << endl; } cout << endl; }
Çıktı:
Isdigit
İşlev Prototipi: int isdigit (int c)
Parametreler: c => Değeri kontrol edilecek int'e çevrilen bir karakter.
Geri dönüş değeri: sıfır olmayan => c ondalık basamaktır
0 => c bir rakam değildir
Açıklama: Bu fonksiyon, verilen parametrenin ondalık basamak olup olmadığını kontrol eder. Değeri 0 ile 9 arasındaysa karakter ondalık basamaktır.
Misal:
#include #include using namespace std; int main() { char ch_alpha(5) = 'a12b'; for (int i=0; i<5; i++) { if (isdigit(ch_alpha(i))) cout << ch_alpha(i) << ' is a digit' << endl; else cout << ch_alpha(i) << ' is not a digit' << endl; } cout << endl; }
Çıktı:
İzgraf
İşlev Prototipi: int isgraph (int c)
Parametreler: c => isgraph işlevi kullanılarak kontrol edilen karakter dönüştürülmüş int
Geri dönüş değeri:
sıfır olmayan => c bir grafik temsilidir
0 => c grafiksel bir gösterim değildir
Açıklama: İşlev, verilen karakter c'nin grafik gösterimi olan bir karakter olup olmadığını kontrol eder. Yazdırılabilen bir karakter, grafik gösterimli bir karakterdir.
Misal:
#include #include using namespace std; int main() { char ch_alpha(6) = 'a~12b'; for (int i=0; i<6; i++) { if (isgraph(ch_alpha(i))) cout << ch_alpha(i) << ' is a graphical character' << endl; else cout << ch_alpha(i) << ' is not a graphical character' << endl; } cout << endl; }
Çıktı:
Daha düşük
İşlev Prototipi: int islower (int c)
Parametreler: c => islower işlevi kullanılarak kontrol edilecek karakter.
Geri dönüş değeri:
non-zer0 => c küçük harftir
0 => c küçük harf değildir
Açıklama: Daha düşük işlev verilen c karakterinin küçük harf olup olmadığını kontrol eder.
Küçük harf, değerlerden birine sahip olandır: a b c d e f g h I j k l m n o p q r s t u v w x y z.
Misal:
#include #include using namespace std; int main() { char ch_alpha(4) = 'Sth'; for (int i=0; i<4; i++) { if (islower(ch_alpha(i))) cout << ch_alpha(i) << ' is a lowercase character' << endl; else cout << ch_alpha(i) << ' is not a lowercase character' << endl; } cout << endl; }
Çıktı:
Yazdır
İşlev Prototipi: int sprint (int c)
Parametreler: c => isprint işlevi kullanılarak kontrol edilecek karakter.
Geri dönüş değeri:
non-zer0 => c yazdırılabilir
0 => c yazdırılamaz
Açıklama: Fonksiyon isprint, verilen karakterin yazdırılabilir olup olmadığını kontrol eder. Yazdırılabilir bir karakter, ekranda bir yazdırma pozisyonunu işgal eden karakterdir.
Misal:
#include #include using namespace std; int main() { char ch_alpha(4) = 'Sth'; for (int i=0; i<4; i++) { if (isprint(ch_alpha(i))) cout << ch_alpha(i) << ' is a printable character' << endl; else cout << ch_alpha(i) << ' is not a printable character' << endl; } cout << endl; }
Çıktı:
Ispunct
İşlev Prototipi: int ispunct (int c)
Parametreler: c => ispunct işlevi kullanılarak kontrol edilecek karakter.
Geri dönüş değeri:
non-zer0 => c bir noktalama karakteridir
0 => c, noktalama karakteri değildir
Açıklama: Bu işlev, verilen karakterin bir noktalama karakteri olup olmadığını kontrol eder. Bir grafik karakter (isgraph'dan) ve alfanümerik olmayan (isalnum'dan) bir karakterin noktalama karakteri olduğu söylenir.
Misal:
#include #include using namespace std; int main() { char ch_alpha(8) = 'sth@123'; for (int i=0; i<8; i++) { if (ispunct(ch_alpha(i))) cout << ch_alpha(i) << ' is a punctuation character' << endl; else cout << ch_alpha(i) << ' is not a punctuation character' << endl; } cout << endl; }
Çıktı:
Isspace
İşlev Prototipi: int isspace (int c)
Parametreler: c => isspace işlevi kullanılarak kontrol edilecek karakter.
Geri dönüş değeri:
non-zer0 => c bir beyaz boşluktur
0 => c boşluk değildir
Açıklama: Bu işlev, verilen karakterin beyaz boşluk olup olmadığını kontrol eder. 'C' yerel ayarı için, beyaz boşluk karakterleri aşağıdakilerden herhangi biridir.
Misal:
#include #include using namespace std; int main() { char ch_alpha(7) = 's t
h'; for (int i=0; i<7; i++) { if (isspace(ch_alpha(i))) cout << ch_alpha(i) << ' is a white space' << endl; else cout << ch_alpha(i) << ' is not a white space' << endl; } cout << endl; }
Çıktı:
Isupper
İşlev Prototipi: int isupper (int c)
Parametreler: c => isupper işlevi kullanılarak kontrol edilecek karakter.
Geri dönüş değeri:
non-zer0 => c büyük harftir
0 => c büyük harf değildir
Açıklama: İşlevler daha düşük, verilen c karakterinin büyük harf olup olmadığını kontrol eder.
Büyük harf, şu değerlerden birine sahip olandır: A B C D E F G H I J K L M N O P Q R S T U V W X Y Z.
Misal:
#include #include using namespace std; int main() { char ch_alpha(4) = 'STh'; for (int i=0; i<4; i++) { if (isupper(ch_alpha(i))) cout << ch_alpha(i) << ' is an uppercase character' << endl; else cout << ch_alpha(i) << ' is not an uppercase character' << endl; } cout << endl; }
Çıktı:
Isxdigit
İşlev Prototipi: int isxdigit (int c)
Parametreler: c => isxdigit fonksiyonu kullanılarak kontrol edilecek karakter.
Geri dönüş değeri:
non-zer0 => c onaltılıktır
0 => c onaltılık değildir
Açıklama: Bu işlev, verilen karakterin onaltılık bir rakam olup olmadığını kontrol eder. Geçerli onaltılık rakamlar 0 1 2 3 4 5 6 7 8 9 a b c d e f A B C D E F
Misal:
#include #include using namespace std; int main() { char ch_alpha(6) = 'sbc10'; for (int i=0; i<6; i++) { if (isxdigit(ch_alpha(i))) cout << ch_alpha(i) << ' is hexadecimal digit' << endl; else cout << ch_alpha(i) << ' is not hexadecimal digit' << endl; } cout << endl; }
Çıktı:
daha düşük
İşlev Prototipi: int tolower (int c)
Parametreler: c => Küçük harfe dönüştürülecek karakter.
Geri dönüş değeri:
aksi takdirde değişmeden c'nin düşük eşdeğerini döndürür.
Dönüş değeri int'dir ve dolaylı olarak char türüne dönüştürülebilir.
Açıklama: Bu, verilen c karakterini küçük harf eşdeğerine dönüştürür. Belirli bir karakter için dönüştürme mümkün değilse, değişmemiş değer (c) döndürülür.
Misal:
#include #include using namespace std; int main() { char ch_alpha(4) = 'STH'; cout< Çıktı:
STH küçük harfe dönüştürüldü: sth
toupper
İşlev Prototipi: int toupper (int c)
Parametreler: c => büyük harfe dönüştürülecek karakter
Geri dönüş değeri:
aksi takdirde değişmeden c'nin üst eşdeğerini döndürür.
Java'da bir grafik nasıl temsil edilir
Dönüş değeri int'dir ve dolaylı olarak char türüne dönüştürülebilir.
Açıklama: Bu, verilen c karakterini büyük harf eşdeğerine dönüştürür. Belirli bir karakter için dönüştürme mümkün değilse, değişmemiş değer (c) döndürülür.
Misal:
#include #include using namespace std; int main() { char ch_alpha(10) = 'tutorials'; cout< Çıktı:
küçük harfe dönüştürülen eğiticiler: TUTORIALS
Sonuç
Bu, C ++ 'daki Karakter işlevleri hakkındaki eğitimimizi sona erdirir.
Bu eğitimde, tek bir karakter alan ve sonra bunları sınıflandıran veya dönüştüren çeşitli işlevler gördük. Sonraki eğitimlerimizde, dizeyi ve C ++ ile ilgili işlevlerini ve sınıflarını tartışacağız.
=> Basit C ++ Eğitim Serisini Buradan Keşfedin.
Önerilen Kaynaklar