Windows '*' karakterini '.' olarak görüyor

TheGomezMC

Kilopat
Katılım
31 Aralık 2015
Mesajlar
154
Çözümler
1
Daha fazla  
Cinsiyet
Erkek
Bir arkadaşımla C üzerinden kodlama çalışırken bir sorun karşımıza çıktı.
İnt main(int AC, char** av)
{
Printf("%c",av[1][0]);
}
Şöyle çok basit bir kod var elimizde kullanıcı girdisini yazdırıyoruz 3 farklı sonuç çıktı karşımıza:

1. bilgisayar Windows 11 Monster Huma Intel işlemcili, girdi = "*", çıktı = "."(nokta).
2. bilgisayar Windows 11 AMD işlemcili kasa, girdi = "*", çıktı = "a".
3. bilgisayar macOS MacBook Pro, girdi = "*", çıktı = "*".
4. bilgisayar Ubuntu Lenovo Intel işlemcili laptop, girdi = "*", çıktı = "*".

Windows sistemlerde neden hatalı sonuç alıyoruz?
 
Merhaba. Tüm windows işletim sistemi sürümlerinde, klavyeden yanlış harf, rakam, vb. karakterlerinin çıkmasının temel nedeninin windows sistem dosyalarında yer alan keyboard sistem dosyasından veya bununla direk ilişkili sistem dosyasıyla ilgili olduğunu biliyorum. Bu işletim sisteminde sistem geri yükleme seçeneği halen kullanılıyorsa takasla hatalı keyboard sistem dosyalarıyla sağlam dosyanın değiştirilmesini veya windows 11 işletim sistemini temiz kurulumla yenileyerek klavye harf, rakam, vb. karekterlerinin eski kullanıma tekrar geri dönebilmesi beklenir. Kolay gelsin.
 
Merhaba. Tüm windows işletim sistemi sürümlerinde, klavyeden yanlış harf, rakam, vb. karakterlerinin çıkmasının temel nedeninin windows sistem dosyalarında yer alan keyboard sistem dosyasından veya bununla direk ilişkili sistem dosyasıyla ilgili olduğunu biliyorum. Bu işletim sisteminde sistem geri yükleme seçeneği halen kullanılıyorsa takasla hatalı keyboard sistem dosyalarıyla sağlam dosyanın değiştirilmesini veya windows 11 işletim sistemini temiz kurulumla yenileyerek klavye harf, rakam, vb. karekterlerinin eski kullanıma tekrar geri dönebilmesi beklenir. Kolay gelsin.
Klavyeden doğru harf çıkıyor program farklı bir şekilde ekrana yazdırıyor şöyle göstereyim.
 

Dosya Ekleri

  • nealaka_1.png
    nealaka_1.png
    23,4 KB · Görüntüleme: 34
  • resim_2022-12-20_143108029.png
    resim_2022-12-20_143108029.png
    145,3 KB · Görüntüleme: 42
C:
#include <stdlib.h>
#include <stdio.h>
#include <locale.h>

int main(int argc, char** argv) {
    setlocale(LC_ALL, "Turkish");
    printf("%c", argv[1][0]);
    return 0;
}
Bunu bir dener misin?
**Düzeltme**
Bununla alakalı değilmiş. Argüman olarak direkt * vermek yerine, '*' yada "*" şeklinde * vermeyi deneyin. Muhtemelen sorun çözülecektir.
 
C:
#include <stdlib.h>
#include <stdio.h>
#include <locale.h>

int main(int argc, char** argv) {
    setlocale(LC_ALL, "Turkish");
    printf("%c", argv[1][0]);
    return 0;
}
Bunu bir dener misin?
**Düzeltme**
Bununla alakalı değilmiş. Argüman olarak direkt * vermek yerine, '*' yada "*" şeklinde * vermeyi deneyin. Muhtemelen sorun çözülecektir.
1671537097286.png

Sonuç yine aynı değişen bir şey yok.
 

Technopat Haberler

Geri
Yukarı