Rakamların başına sıfır koyarak lcdye yazdırmak?

Başlatan sigmoid, 14 Kasım 2010, 21:48:19

sigmoid

printf("%05d",25);

şeklinde yazdırmaya çalışıyorum. sayının başına 0 koymuyor, ama olması gerektiği kadar boşluk oluyor.

istediğim : 00025
sonuç      :       25

Hitech STD v9.60 PL2 kullanıyorum. Yoksa ben mi yanlış hatırlıyorum yada hitech bu özelliği desteklemiyor mu?



serdararikan


sigmoid

hitech içindeki printf bunu desteklemiyor mu? Asıl merak ettiğim bu.

desteklemiyorsa mecbur kendim bir fonksiyon yazacağım. Pratik bir önerin varsa buna açığım.

serdararikan

hitech de denemedim ama standart c deki printf fonksiyonunun %5d şeklinde yazıldığında integer sayıyı 5 basamak şeklinde yazdığını hatırlıyorum.eğer desteklemiyorsa strlen ile stringin boyutunu tesbit edip başına istediğin kadar 0 ekleyebilirsin.

sigmoid

%5d şeklinde yapınca başına gerekli boşlukları koyup yazıyor. Bu yazımda sorun yok.

Örnek1:    25 gibi

Ama %05d şeklinde yapınca

Örnek2: 00025

şeklinde bir çıktı vermesini beklerken yine ilk örnekteki  çıktıyı veriyor.

neural

Ben denedim ancak sprintf fonksiyonu ile denedim.
Sonuç olarak sprintf("%05d",deger); olması gerekeni verdi.

sigmoid

bende sprintf
Alıntı yapılan: neural - 14 Kasım 2010, 22:09:54
Ben denedim ancak sprintf fonksiyonu ile denedim.
Sonuç olarak sprintf("%05d",deger); olması gerekeni verdi.

bende sprintf fonksiyonundada başa sıfır koymadı. siz hangi versiyonu kullanıyorsunuz ?

serdararikan

hitech in versiyonlarında çeşitli problemler var.
mesela tek tırnak karakterini bir karakter olarak yazmayı deneyin.hitech tek tırnak karakterinin ascii kodunu üretemiyor.başıma çok geldi.

sigmoid

kullandığım bu versiyonda test edip çalıştırdığım bir sürü fonksiyonum var. Geçen gün 9.80 yükleyeyim dedim. Derleyici öyle bir optimizasyon yaptıki bazı yazdığım satırları gereksiz deyip çıkarttı.

Artık bir şekilde sorunlarımı çözerek bu versiyonda kalacağım. Hiteche laf atıyoruz ama şu ana kadar en memnun olduğum derleyicidir. bir ara mikrocnin hazır kütüphanelerine kanıp kullandım. yaptığım proje iyice büyüğünce beni yolda bıraktı.