Standart C Programlama Dili


D.3.1. Örnek Windows Konsol Uygulaması

Windows konsol programları, Windows API tarafından sağlanan ek işlevselliğe sahip basit DOS veya unix karakter modu programları gibidir.

#include <windows.h>
#include <stdio.h>

int main (int argc, char * argv[])
{
  int  i, c;
  char mesaj[80];
  char cikti[1000];
  size_t cboy = sizeof(cikti);

  printf ("Mesajinizi girin: ");
  fgets (mesaj, sizeof(mesaj), stdin);
  c = snprintf (cikti, cboy, "Merhaba, benim ismim %s.\n", argv[0]);
  if (cboy > c)
    c += snprintf (cikti+c, cboy-c, "Argumanlarim sunlar");
  for (i=1; i<argc; i++)
    if (cboy > c)
      c += snprintf (cikti+c, cboy-c, ", %s", argv[i]);
  if (cboy > c)
    snprintf (cikti+c, cboy-c, ".\nMesajiniz: %s", mesaj);
  MessageBox (NULL, cikti, "Ornek Windows Konsol Uygulamasi",
    MB_OK|MB_ICONINFORMATION);
  printf ("Program bitti.\n");
  return 0;
} /* main */

Örneğin, Altkısım 4.2.3’te verilenin basit bir uyarlaması olan yukarıdaki program Windows API’deki MessageBox fonksiyonunu kullanır. Bu fonksiyon ve MB_OK ile MB_ICONINFORMATION değişmezleri windows.h başlık dosyasında bildirilmiştir. Bu programı Windows altında Cygwin ortamında derlemek için özel bir şey yapmaya gerek yoktur. Önceki kısımlarda anlatılan komutlarla derlenip, örneğin winkon.exe isminde bir yürütülebilir dosya ortaya çıktığını düşünelim. Bu dosyayı aşağıdaki gibi çalıştırdığınızda:

./winkon.exe BIR IKI UC
Mesajinizi girin: C iyidir!
Program bitti.

alttaki pencere görüntülecektir:

Konsol mesaj penceresi

ŞEKİL D.1 Windows konsol programı MessageBox penceresi