C++:
#include <iostream>
#include <windows.h>
#include <fstream>
#include <string>
int main() {
setlocale(LC_ALL, "Turkish");//bunun tam manasıyla ne iş yaptığını çözemedim ama bunsuz anladığım kadarıyla türkçe karakter setlerine erişemiyoruz.
int key_code;//herhangi bir ascii karakter kodunu yazarak başlayın
while (TRUE) {
scanf_s("%d", &key_code);
wchar_t ş = L'ş';//gıcık türkçe karakterlerden birini değişkene verin.(Aklınıza gelmediyse 'A'=>65)
wprintf(L" c_key_code_char:%c - d_key_code_int:%d - c_'ş'_char:%c - d_'ş'_int:%d", key_code, key_code, ş, L'ş');
//'ş' harfinin kod noktası 351 bu unicode ile ifade edilen bütün karakterlere belli bir skala içerisinden verilen sayıları ifade eder
//vikipedia da küçük bir araşırma sonucu bu kavramsal meseleyi halledebilirsiniz. ş harfinı görebileceğiniz üzere başarılı bir şekilde bastırdık
//ama c yi daha dün öğrenen birisinin son derecede kafasını karıştırıcak bir durumdur "klasik" fonksiyonlarla türkçemizin 'ş' güzelim harfi ş yi bastıramamak.
//Aşağıda kendi kafamı karıştıran kısmı bir nevi kendi çözüm adımlarımla elde ettiğim tecrübeyi ve neticemi sizle paylaştım umarım benim gibi ruh hastalarının
//ilgisini çeken bir dava olur içinizi daraltan yazılım problemlerinden biri olan unicode meselesini karakter kodlamasını vesaiyere bu örnek kod ve sorun-çözüm
//ilişkisi içerinde bir nebzede olsa rahatlatır ben şahsen çok rahatladım umarım konuştuğum dili anlarsınız eğer oralarda biyerde benim gibi biri varsa o anlayacaktır;) hayırlı geceler...
}
}
//`ş` harfi utf16 ile 2 byte lık bir harf ve onu hem bastırmak hemde tutmak için bu fazladan byte ı değerlendirebilecek bileşenlere
//ihtiyacımız var wchar_t windows için (galiba) 16 bit lik değer tutmaya yarıyor wpirntf ise bu 16 bitlik harfi yorumluyabilecek
//özellikte bir fonksiyon işte bütün bunlar sayesinde istediğimizi elde edebiliyoruz eğer normal printf kullansak 'ü' 'Ü' gibi
//tek byte utf16 ile ifade edilen harfleri de bastırabiliriz ama 2 byte için wprintf şart, dava kapandı.
//DEVAM EDEN SORUNSAL: Hala neden printf ile 'ş' harfini bastırmaya çalıştığım zaman byte larından sonuncusunu yani '_' karakterini değilde
//ilk byte ı basmadını bilmiyorum açıkçası detay gibi geldi ilk bakışta da aklıma pek mantıklı bir şey gelmeyince (little endian, big endian ile mi alakalı acaba)
//bende düşünmeyi şimdilik bıraktım.
Son düzenleme: