İçeriğe atla

End-of-file

Bilgisayar bilimlerinde, işletim sisteminin okuduğu veri kaynağının sonuna gelindiği duruma end-of-file (EOF) denir.[1] Veri kaynağı bir dosya veya akış olabilir.

C standard kütüphanesi gerçeklenime bağlı bir EOF sabiti tanımlar, karakterler okunurken bu sabitle karşılaşıldığında, akış sonuna gelindiği sinyallenir.

Akış terminalden geldiğinde sonlanması kullanıcıya bağlıdır, bu nedenle bazı karakterler EOF olarak algılanır. Unix benzeri sistemlerde CTRL-D (ASCII 04) varsayılan EOF karakteridir, Windows'ta bu değer CTRL-Z (ASCII 26)'dır.

EOF karşılaşılana kadar okuma yapan örnek C programı:

#include <stdio.h>

int main(int argc, const char *argv[]) {
  FILE *stream = fopen(argv[1], "r");

  char c;
  while ((c = fgetc(stream)) != EOF)
    putchar(c);

  fclose(stream);

  return 0;
}

Kaynakça

  1. ^ Pollock, Wayne. "Shell Here Document Overview". hccfl.edu. 29 Mayıs 2014 tarihinde kaynağından arşivlendi. Erişim tarihi: 28 Mayıs 2014. 

İlgili Araştırma Makaleleri

<span class="mw-page-title-main">C (programlama dili)</span> programlama dili

C, yapısal bir programlama dilidir. Bell Laboratuvarları'nda, Ken Thompson ve Dennis Ritchie tarafından UNIX işletim sistemini geliştirebilmek amacıyla B dilinden türetilmiştir. Geliştirilme tarihi 1972 olmasına rağmen yaygınlaşması Brian Kernighan ve Dennis M. Ritchie tarafından yayımlanan "C Programlama Dili" kitabından sonra hızlanmıştır. Günümüzde neredeyse tüm işletim sistemlerinin yapımında %95'lere varan oranda kullanılmış, hâlen daha sistem, sürücü yazılımı, işletim sistemi modülleri ve hız gereken her yerde kullanılan oldukça yaygın ve sınırları belirsiz oldukça keskin bir dildir. Keskinliği, programcıya sonsuz özgürlüğün yanında çok büyük hatalar yapabilme olanağı sağlamasıdır. Programlamanın gelişim süreciyle beraber programlamanın karmaşıklaşması, gereksinimlerin artması ile uygulama programlarında nesne yönelimliliğin ortaya çıkmasından sonra C programcıları büyük ölçüde nesne yönelimliliği destekleyen C++ diline geçmişlerdir.

<span class="mw-page-title-main">C++</span> bir programlama dili

C++, Bjarne Stroustrup tarafından 1979 yılında Bell Laboratuvarları'nda geliştirilmeye başlanmış, C'yi kapsayan ve çok paradigmalı, yaygın olarak kullanılan, genel amaçlı bir programlama dilidir.

<span class="mw-page-title-main">Sabit disk sürücüsü</span> veri depo cihazı

Sabit disk ya da Hard disk kısaca HDD ya da Türkçesi ile sabit disk sürücüsü veri depolanması amacı ile kullanılan manyetik kayıt ortamlarıdır. Önceleri büyük boyutları ve yüksek fiyatları nedeni ile sadece bilgisayar merkezlerinde kullanılan sabit diskler, cep telefonları ve sayısal fotoğraf makineleri içine sığabilecek kadar küçülen boyutları ile günlük hayatımıza girmişlerdir.

<span class="mw-page-title-main">Unicode</span> endüstri standartı

Unicode Unicode Consortium organizasyonu tarafından geliştirilen ve her karaktere bir sayı değeri karşılığı atayan bir endüstri standardıdır. Sistemin amacı farklı karakter kodlama sistemlerinin birbiriyle tutarlı çalışmasını ve dünyadaki tüm yazım sistemlerinden metinlerin bilgisayar ortamında tek bir standart altında temsil edilebilmesini sağlamaktır. Evrensel Karakter Kümesi (UCS) olarak bilinen ISO/IEC 10646 standardı ise, her iki organizasyonun işbirliği ile aynı sayısal karşılıkları taşımaktadır. Unicode, son sürümü itibarıyla 129 farklı modern ve tarihî yazım sistemine ait 120.000'den fazla karakteri ve emoji gibi çeşitli sembol kümelerini kapsamaktadır.

<span class="mw-page-title-main">GSM</span>

Global System for Mobile Communications veya kısaca GSM, bir cep telefonu iletişim protokolüdür. Önceleri Avrupa Telekomünikasyon Standartlar Komitesi'nin Groupe Spéciale Mobile isimli alt kuruluşunun ismini taşıyan GSM, daha sonraları sistemin küresel bir çapa ulaşmasıyla yeni adıyla anılmaya başlandı. En yaygın olan cep telefonu standardı olarak 212 ülkede 2 milyardan fazla insan tarafından kullanılmaktadır. En kullanışlı özelliklerinden birisi kullanıcıların aynı hat ile değişik ülkelerden görüşme (roaming) yapabilmeleridir. Tüm GSM standartları, hücresel ağ kullanır ve dolaşım sırasında bile hücreler arası geçiş yapma kabiliyetine sahiptir. Dolayısıyla teoride, eğer kapsama alanından çıkmazsanız, cep telefonu ile tüm dünyayı telefon konuşmasını kesmeden dolaşmak mümkündür.

Objective-C, C'nin üzerine yazılmış, yansımalı, nesne yönelimli bir programlama dilidir. ObjC, Objective C ve Obj-C olarak da anılır.

<span class="mw-page-title-main">ASCII</span> Latin alfabesi üzerine kurulu 7 bitlik bir karakter kümesi

ASCII Latin alfabesi üzerine kurulu 7 bitlik bir karakter kümesidir. İlk kez 1963 yılında ANSI tarafından standart olarak sunulmuştur.

Kolmogorov karmaşıklığı, bilgisayar biliminde, bir metin parçası gibi bir nesneyi tanımlamak için kullanılması gereken bilgi işlemsel kaynakların ölçüsü.

Trivial File Transfer Protocol (TFTP) 1980 yılında tanımlanmış, FTP' nin temel fonksiyonel şekli olarak ifade edilen basit bir dosya transfer protokolüdür.

<span class="mw-page-title-main">FLAC</span> ses kodlama formatı

FLAC dijital sesin kayıpsız olarak sıkıştırılması için kullanılan bir ses kodlama formatıdır ve aynı zamanda referans kod çözümü uygulamasının adıdır. FLAC algoritması ile sıkıştırılmış sayısal ses orijinal boyutunun% 50-60'ına kadar indirgenebilir ve orijinal ses verilerinin özdeş bir kopyasına dek sıkıştırma yapabilir. Örneğin sıkıştırılmamış 1 dakikalık WAV dosyası boyutu yaklaşık 10 MB iken, FLAC dosyası 4,2-6,3 MB arasındadır.

<span class="mw-page-title-main">Seri bağlantı noktası</span>

Seri port seri bir bağlantı noktası, seri iletişim, her seferinde içeriye veya dışarıya doğru bir bit bilgi transfer eden fiziksel bir arayüzdür. Kişisel bilgisayarların tarihi boyunca terminaller veya modemler gibi cihazlar ile bilgisayarlar arasındaki veri transferi çoğunlukla seri bağlantı noktaları üzerinden sağlanmıştır. Fare, klavye, diğer çevre birimleri de bu yolla bilgisayara bağlanmaktadır.

<span class="mw-page-title-main">Merhaba dünya programı</span> Geleneksel acemi bilgisayar programı

Merhaba dünya programı, görsel bir arayüz veya komut satırında "Merhaba dünya!" yazdıran bilgisayar programıdır. Bunun amacı, yeni öğrenilen programlama dilinde basit bir yazı yazmak ve programlama mantığını anlatmaktır.

<span class="mw-page-title-main">Stream</span>

Stream, zaman içinde bulunur hâle getirilen veri silsilesi anlamına gelen bir bilgisayar terimidir.

<span class="mw-page-title-main">FLTK</span>

FLTK, Bill Spitzak tarafından C++ ile geliştirilmiş çapraz platform GUI kütüphanesidir. GNU LGPL ile özgür olarak dağıtılıp kullanılabilir. OpenGL ile üç boyutlu programlama yeteneklerini kullanır. Fakat genel GUI programlamasına da uygun olarak geliştirilmiştir. C++ ile geliştirildiğinden birincil programlama tercihi de bu yöndedir. Fakat zaman içerisinde Lua, Python, Ruby gibi nesne yönelimli diller içinde uygun hale getirilmiştir.

Bilgisayar programlamada dinamik iletim, altyordam çağrılarının ilişkin altyordam başlangıç adresine dinamik olarak bağlanmasıdır. Bir diğer deyişle, dinamik iletim program metnindeki bir çağrı ile işletilen altyordamın programın çalışması sırasında birbirine bağlanması durumudur. Geri çağrı ve çokbiçimliliğin realize edilmesinde kullanılan bu bağlama yöntemi, yordamsal programlama dillerinde altyordam göstericileriyle gerçekleştirilirken, nesne yönelimli dillerde kalıtlama ve gerçekleştirme ilişkilerinin kullanılmasıyla otomatikman sağlanır. Altyordamların birinci sınıf dil öğesi olarak ele alındığı fonksiyonel programlama dillerinde ise, aynı işlevsellik altyordamların argüman olarak geçirilmesi ile sağlanabilir.

cat (Unix) komut satırı programı

cat, dosyaları sırasıyla okuyan ve standart çıktıya yazan POSIX standartlı bir Unix komutudur.

<span class="mw-page-title-main">OpenMP</span>

OpenMP; Solaris, IBM AIX, HP-UX, GNU/Linux, MAC OS X ve Windows işletim sistemleri üzerinde çoğu işlemci mimarisi üzerinde Fortran, C++, C programlama dillerinde çoklu platform paylaşımlı bellek çoklu işlemeyi destekleyen bir uygulama geliştirme arayüzüdür, yani bir API'dir. OpenMP derleyici yönergelerinin kütüphane rutinlerini ve ortam değişkenlerinin çalışma zamanı davranışını etkileyen bir kümesini içerir.

<span class="mw-page-title-main">Karakter kodlaması</span> yazıdaki karakterleri rakamsal değerlerle temsil etmek

Bilişimde karakter kodlaması kavramı bir çeşit kodlama sistemi kullanılarak kodlanmış karakter gruplarını temsil etmektedir. Soyutlama düzeyi ve kullanıldığı bağlama bağlı olarak karakterlere karşılık gelen kod noktaları ve bunların oluşturdukları kod alanı, bit örüntüleri, oktetler, doğal sayılar, elektrik sinyalleri vb. şeklinde algılanabilir. Metinsel verilerin işlenmesi, depolanması ve iletimi esnasında karakter kodlamaları kullanılır. Karakter seti, karakter eşlem veya kod sayfası gibi ifadeler karakter kodlaması kavramıyla eş anlamlıymış gibi kullanılsa da aralarında bazı anlam farkları bulunmaktadır.

Karakter kodlaması terminolojisinde, kod noktası veya kod konumu kod uzayını oluşturan sayısal değerlerin her birine verilen isimdir. Kod noktalarının karşılık geldiği karakterler genelde çizgisel karakterler olsa da zaman zaman biçimlendirme karakterleri de olabilmektedir.

<span class="mw-page-title-main">Devuan</span>

Devuan, systemd yerine sysvinit, runit veya OpenRC kullanan Debian Linux dağıtımının bir çatalıdır. Devuan, systemd gibi projeler tarafından "kilitlenmeyi" önlemeyi amaçlar ve Linux'u diğer Unix sistemlerinden ayırmaktan kaçınmak için diğer init sistemleriyle uyumluluğu korumayı hedefler.