Subject: Karakter giriş çıkışı
Bu programda Türkçe harf kullandım ama ASCII olmayan bütün karakterler için geçerli:
wchar'ın derlenememesi bence hata; onun dışında tamam...
Peki girişten ASCII olmayan karakterleri nasıl okuyacağız ve yazdıracağız? Türkçe karakterlerin char'a sığmadığını anlıyorum. Örneğin aşağıdaki program ğ girildiğinde hatasız çalışıyor ama çıkışa doğal olarak ğ'nin iki baytından birisini yazdırıyor ve çıktıda ğ görünmüyor. Bu doğal, çünkü 2 bayttan oluşan Unicode ğ değeri tek bayta sığmıyor...
Ama wchar ve dchar için de okuma sırasında Segmentation fault alıyorum:
char yerine wchar veya dchar kullanınca hata oluşuyor. dmd hatası mı; yoksa bir şeyleri yanlış mı anlıyorum?
Ali
import std.stdio; void main() { // Derlenmiyor; çünkü 'ğ'nin değeri char'a sığmıyor: // char ğ = 'ğ'; // Bence dmd'nin bir hatası yüzünden derlenemiyor: // wchar ğ = 'ğ'; // Çalışıyor: dchar ğ = 'ğ'; writeln(ğ); }
wchar'ın derlenememesi bence hata; onun dışında tamam...
Peki girişten ASCII olmayan karakterleri nasıl okuyacağız ve yazdıracağız? Türkçe karakterlerin char'a sığmadığını anlıyorum. Örneğin aşağıdaki program ğ girildiğinde hatasız çalışıyor ama çıkışa doğal olarak ğ'nin iki baytından birisini yazdırıyor ve çıktıda ğ görünmüyor. Bu doğal, çünkü 2 bayttan oluşan Unicode ğ değeri tek bayta sığmıyor...
Ama wchar ve dchar için de okuma sırasında Segmentation fault alıyorum:
import std.stdio; import std.cstream; void main() { char karakter; din.readf(&karakter); writeln(karakter); }
char yerine wchar veya dchar kullanınca hata oluşuyor. dmd hatası mı; yoksa bir şeyleri yanlış mı anlıyorum?
Ali
acehreli
Show profile
Link to this post
. Acaba dediğiniz gibi biz mi bir şeyleri yanlış anlıyoruz ki


