Arkadaşlar yazılacak değerlerde türkçe karakterleri c++ okumuyor. Mesela "yazı girin: Ateş" yazılamıyor yani yazsa bile boş bırakılıp "Enter" a basılmış gibi algılıyor sistem ama sistemin içinde ateş yazıldığında çalışacak kodlar hazır yardımcı olur msunuz ?
Türkçe Karakter
Yazdığınız kodları paylaşabilir misiniz ona göre yardımcı olmaya çalışıcam.
#include <.cstdlib.> Buralarda normalde nokta yok.
#include <.iostream.>
using namespace std;
main(){
setlocale(LC_ALL,"turkish");
string x ;
cout << "Yazıyı giriniz: ";
cin >> x;
if(x== "accusomed")
cout << "\nanlamı ALIŞKIN, ALIŞIK dır edatı TO dur. ";
if(x== "alışkın")
cout << "\nİngilizce karşılığı Accusomed dir edatı TO dur. ";
string a;
if ( a == "0" "" a == "exit" )
cout << "\n";
cout << "\n\n";
cout << "\n\n";
system("PAUSE");
return EXIT_SUCCESS;
}
Burada alışkın yazıldığı zaman hiçbir şey çıkmıyor yukarıda da belittiğim gibi.
#include <iostream>
#include <string>
using namespace std;
int main()
{
setlocale(LC_ALL,"turkish");
string x;
cout << "Yazıyı giriniz: ";
cin >> x;
if(x == "accusomed")
cout << "\nanlamı ALIŞKIN, ALIŞIK dır edatı TO dur. ";
if(x == "alışkın")
cout << "\nİngilizce karşılığı Accusomed dir edatı TO dur. ";
cout << "\n\n";
cout << "\n\n";
return 0;
}
Bu şekilde yazdım ama bende de aynı şey oluyor.Sorun setlocale() fonksiyonun aldığı parametrelerle(belki farklı bir değer almalıdır ilki) ilgili olabilir mi acaba?
http://www.codeproject.com/Quest ... racter-Problem-in-C
Burada tartışılmış ve dediğine göre setlocale(LC_ALL, "Turkish") fonksiyonun bu şekilde kullanımı sadece C dili için geçerliymiş.
#include<stdio.h>
#include<string.h>
#include<stddef.h>
#include<locale.h>
#include<stdlib.h>
int main()
{
setlocale(LC_ALL,"turkish");
char a[20];
gets(a);
puts(a);
return 0;
}
C'de şöyle bir program yazayım dedim boş dönmüyor, fakat türkçe karakterleri yazınca ilginç karakterler ortaya çıkıyor.
Sıkınıtı program bittikten sonra istenilen yerlere yazarken oluyor. C dili için denmiş ama hiç sıkıntı çıkmadan kelimeleri kullanaibliyorum. İstersen verdiğim kodlarıdan o kısmı sil, sonuç Türkçe karakterlerin şaftı kayıyor. Onun haricinde, yazılan türkçe karakterlere (yani kullanıcı yazarken seçtiği Türkçe karakterlere, kodların içindekilere değil) harf atama yapsak yani Ç yazmıyor ama kodların içinde bulunabiliyor, onun için Ç yazıldığında kodların içinde yazdığımız eşitlikten dolayı Ç yazsa nasıl olur, yani bir etkisi olur mu ve olursa nasıl yaparız ? Umarım anlatabilmişimdir.
Sıkınıtı program bittikten sonra istenilen yerlere yazarken oluyor. C dili için denmiş ama hiç sıkıntı çıkmadan kelimeleri kullanaibliyorum. İstersen verdiğim kodlarıdan o kısmı sil, sonuç Türkçe karakterlerin şaftı kayıyor. Onun haricinde, yazılan türkçe karakterlere (yani kullanıcı yazarken seçtiği Türkçe karakterlere, kodların içindekilere değil) harf atama yapsak yani Ç yazmıyor ama kodların içinde bulunabiliyor, onun için Ç yazıldığında kodların içinde yazdığımız eşitlikten dolayı Ç yazsa nasıl olur, yani bir etkisi olur mu ve olursa nasıl yaparız ? Umarım anlatabilmişimdir.Açıkçası tam anliyamadım kodların içindeki türkçe karakterler derken sanırım ekrana herhangi bir string yazdırmayı kastediyorsunuz,eşitlikten dolayı ç yazdırmak derken yani sizin belirlediğiniz string değişkenin içinde ç harfinin bulunup bunun ekrana(if denetim yapısıyla örneğin) yazdırılmasını mı istiyorsunuz?
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace c_sharp_harf_deneme
{
class Program
{
static void Main(string[] args)
{
string a;
Console.WriteLine("Bir string giriniz");
a = Console.ReadLine();
Console.WriteLine("string is {0}",a);
}
}
}
Programın benzerini C# dilinde yazmayı denedim ve hiçbir sorun yok bütün yazdığınız türkçe karakterleri sorun olmadan ekrana yazdırıyor.