CodeBlanks Logo Icon CodeBlanks

Argüman doğrulama

  • C kursu
  • Orta seviye
  • Ders 91/116
  • 5 dk

Komut satırı argümanlarını doğrulamayı öğrenirsin.

Argüman sayısı kontrolü

Bir program çalışırken genellikle en az bir argüman bekler. argc değerini denetleyerek eksik girdiyi erken yakalayıp kullanıcıya anlamlı bir ileti gösterirsin.

Örnek: if (argc < 2) { printf("Hata: argüman eksik\n"); return 1; }. Burada argc < 2, yalnızca program adı varsa (kullanıcı argümanı yoksa) doğrudur. Hata iletisini ekrana yazdırıp return 1 ile programı bozar; böylece geri kalan kod çalışmaz. Bu, CLI araçlarında en yaygın doğrulama desenidir ve kullanıcıyı doğru kullanıma yönlendirir.

Kullanım iletisi

Hata durumunda yalnızca "eksik" demek yerine, programın nasıl kullanılacağını gösteren bir kullanım iletisi yazdırırsın. Bu, kullanıcının hatayı düzeltmesini sağlar.

Örnek: printf("Kullanım: %s <dosya>\n", argv[0]);. Burada argv[0], programın adını verir; böylece ileti programın nasıl çağrıldığına uyum sağlar. İleti kısa ve net olmalıdır: beklenen argümanların sırasını ve türünü belirt. İyi tasarlanmış kullanım iletileri, araç belgelerinin temelidir ve kullanıcıyı deneme yanılma yerine doğru komutu yazmaya yönlendirir.

Uygulama Argüman doğrulama yaz

int argc = 1; ile simüle edilmiş bir argüman sayısı tanımla. if (argc < 2) ile kontrol et; koşul doğruysa printf("Hata: argüman eksik\n"); yazdır ve return 1; ile çık. Aksi halde printf("Tamam\n"); yazdır ve return 0; ile bitir.

Başlangıç kodu

main.c
#include <stdio.h>

// argc değişkenini 1 olarak tanımla
// argc < 2 ise hata yazdır ve 1 ile çık
// değilse "Tamam" yazdır

int main(void) {
    return 0;
}

Örnek çözüm

main.c
#include <stdio.h>

int main(void) {
    int argc = 1;
    if (argc < 2) {
        printf("Hata: argüman eksik\n");
        return 1;
    }
    printf("Tamam\n");
    return 0;
}

Beklenen çıktı

Hata: argüman eksik

Soru ve cevaplar

Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.

1 argc < 2 ne zaman doğrudur?

  • Kullanıcı hiç argüman vermediğinde Doğru cevap
  • Kullanıcı iki argüman verdiğinde
  • Program derlenemediğinde
  • argc sıfıra eşit olduğunda

Açıklama: argc < 2, yalnızca program adı varsa (kullanıcı argümanı yoksa) doğrudur.

2 Doğrulama parçalarını eşle

Kavram Anlamı
argc < 2 Eksik argüman kontrolü
argv[0] Program adı
return 1 Hata çıkışı
printf İleti yazdırma

3 Hata iletisini tamamla

Soru
printf("Hata: eksik %d
", ____);
Cevap
printf("Hata: eksik %d
", argc);

Açıklama: argc değerini yazdırmak hatanın sebebini gösterir.

Orta seviye bölümündeki tüm dersler