C++ Kütüphaneleri
#include komutu C++ın içinde gelen birtakım kütüphanelerin (library) başlık (header) dosyalarını programa ekleyerek bu kütüphanelerde yer alan bilgileri kullanmamızı sağlar. Bu header dosyaları .h uzantısına sahiptir. stdio.h, conio.h, math.h gibi C++ın içerisinde gelen birtakım hazır kütüphane başlık dosyaları mevcuttur. Bunun yanısıra C programcısı kendi kütüphanesini kendisi de yaratabilir ya da büyük projelerde programın uzunluğundan dolayı tanımlamalar için başlık dosyalarını kullanmayı tercih edebilir. Dosya isminin iki yanına < ve > işaretleri koyarsak derleyici yalnızca kendi include klasöründeki başlık dosyalarını arayacaktır. Eğer < ..> yerine tırnak işareti kullanacak olursak, derleyici öncelikle o anda bulunduğumuz projemize ait klasörün içinde belirttiğimiz dosyayı arayacak, bulamazsa o zaman kendi include klasörüne bakacaktır. Kısaca .. şeklindeki kullanımı kendi yarattığımız header dosyaları için kullanıyoruz. Örnek:
#include <stdio.h>
#include <conio.h>
#include tanimlar.h
C ve C++ arasındaki farklardan biri de C++ın içerisinde standart Cde gelenden daha fazla kütüphane fonksiyonu gelmesidir. Örneğin bundan önceki konudaki örnek programda kullandığımız stdio kütüphanesi bir C kütüphanesidir. C++, Cnin tüm kütüphanelerini bulundururken, aynı zamanda onların bazılarına alternatif kütüphaneler de içerir. Merhaba Dünya!!! örneğini stdio.h yerine bir C++ kütüphanesi olan iostream.h kullanarak da yazmamız mümkün.
cassert : Makrolar ve programın hatalarının ayıklanmasına yardımcı olacak inceleme araçlarını eklemek için gerekli bilgileri içerir. Bu dosyanın eski adı assert.h idi.
cctpye : Karakterlerin bazı özelliklerini test eden fonksiyonların prototiplerini içerir. Ayrıca küçük harfleri büyük harflere çevirmek ya da bunun tam tersini yapmak için kullanılır. Eski adı ctype.h idi.
cfloat : Sistemin, float tipindeki sayılar için limitlerini içerir. Eski adı float.h idi.
climits : İntegral limitlerini içerir. limits.h yerine kullanılır.
cmath : Matematik kütüphane fonksiyonlarının prototiplerini içerir. math.h yerine kullanılır.
cstdio: Standart giriş/çıkış kütüphane fonksiyonlarının prototiplerini ve bu fonksiyonlar tarafından kullanılan bilgileri içerir. stdio.h yerine kullanılır.
cstdlib : Sayıları metne, metni sayılara çeviren, hafızada yer ayıran, rastgele sayılar üreten ve diğer çeşitli faydalı fonksiyonların prototiplerini içerir. stdlib.h yerine kullanılır.
cstring : C tarzı string işleme fonksiyonlarının prototiplerini içerir. string.h yerine kullanılır.
ctime : Zamanı ve tarihi yöneten fonksiyonların prototiplerini içerir. time.h yerine kullanılır.
iostream : Standart giriş/çıkış fonksiyonlarının prototiplerini içerir. iostream.h yerine kullanılır.
iomanip : Veri akışlarını biçimlendirme imkanı sağlayan, akış yönetim fonksiyonlarının prototiplerini içerir. iomanip.h yerine kullanılır.
fstream: Disk üzerindeki dosyalara giriş/çıkış işlemleri yapan fonksiyonların prototiplerini içerir. fstream.h yerine kullanılır.
utility : Bir çok standart kütüphane öncü dosyasının kullandığı sınıfları ve fonksiyonları içerir.
vector, list, deque, queue, stack, map, set
, bitset, functional
: Bu öncü dosyalar, standart kütüphane taşıyıcılarını sağlayan sınıfları içerir. Taşıyıcılar, programın çalışması sırasında verileri saklamak için kullanılır.
functional : Standart kütüphane algoritmaları tarafından kullanılan sınıf ve fonksiyonları içerir.
memory : Standart kütüphane taşıyıcılarına hafızada yer ayıran standart kütüphane tarafından kullanılan sınıfları içerir.
iterator : Standart kütüphane taşıyıcıları içindeki veriye ulaşmak için kullanılan sınıfları içerir.
algorithm : Standart kütüphane taşıyıcılarındaki bilgi üzerinde işlem yapan fonksiyonları içerir.
exception : İstisnai durumları işleyen sınıfları içeren öncü dosyalardır.
string : Standart kütüphanedeki string sınıfının tanımlanmasını içerir.
sstream : Hafızadan string girişi alan veya hafızaya string gönderen fonksiyonların prototiplerini içerir.
local: Farklı dillerin doğal hallerindeki bilgileri (para birimleri gibi) işlemek için kullanılan sınıf ve fonksiyonları içerir.
limits : Her bilgisayar platformu üzerindeki sayısal veri tiplerinin limitlerini belirleyen sınıfları içerir.
typeinfo : Çalışma anı tip yanıma yapmak için kullanılan sınıfları içerir (çalışma anındaki veri tiplerini belirler).
Temel Kütüphaneler Ve Örnekleri
cstring:
strchr,strcmp,strcoll,strcpy,strcspn,strerror,strlen,strncat,strncmp,strncpy,strpbrk,strrchr,strspn,strstr,strtok,strxfm fonksiyonları bu kütüphanede kullanılabilir. Örnek vermek gerekirse;
ctime:
asctime, clock,ctime,difftime,gmtime,localtime, mktime,strftime ,time fonksiyonları bu kütüphanededir. Örnek vermek gerekirse;
cmath :
log,sin,cos,tan,ceil,floor,fabs,pow,fmax,fmin, fonksiyonları bu kütüphanededir.Örnek vermek gerekirse;
iostream:
cin,cout,cerr,clog,wcin,wcout,wcerr,wclog fonksiyonları bu kütüphanededir. Örnek vermek gerekirse;
cstdio:
rename,remove,tmpfile,tmpnam,fclose,fflush,fopen,freopen,setbuf,stvbuf,fprintf,fscanf,printf,scanf,snprintf,sprintf,sscanf,vfprintf,vfscanf,vprintf,vscanf,fgetc,fputs,fgets,getc,getchar,puts,putc,fread,fwrite,fseek,fgetpos,ferror,perror fonksiyonları bu kütüphanede vardır.Örnek vermek gerekirse;
Alıntıdır.
#include komutu C++ın içinde gelen birtakım kütüphanelerin (library) başlık (header) dosyalarını programa ekleyerek bu kütüphanelerde yer alan bilgileri kullanmamızı sağlar. Bu header dosyaları .h uzantısına sahiptir. stdio.h, conio.h, math.h gibi C++ın içerisinde gelen birtakım hazır kütüphane başlık dosyaları mevcuttur. Bunun yanısıra C programcısı kendi kütüphanesini kendisi de yaratabilir ya da büyük projelerde programın uzunluğundan dolayı tanımlamalar için başlık dosyalarını kullanmayı tercih edebilir. Dosya isminin iki yanına < ve > işaretleri koyarsak derleyici yalnızca kendi include klasöründeki başlık dosyalarını arayacaktır. Eğer < ..> yerine tırnak işareti kullanacak olursak, derleyici öncelikle o anda bulunduğumuz projemize ait klasörün içinde belirttiğimiz dosyayı arayacak, bulamazsa o zaman kendi include klasörüne bakacaktır. Kısaca .. şeklindeki kullanımı kendi yarattığımız header dosyaları için kullanıyoruz. Örnek:
#include <stdio.h>
#include <conio.h>
#include tanimlar.h
C ve C++ arasındaki farklardan biri de C++ın içerisinde standart Cde gelenden daha fazla kütüphane fonksiyonu gelmesidir. Örneğin bundan önceki konudaki örnek programda kullandığımız stdio kütüphanesi bir C kütüphanesidir. C++, Cnin tüm kütüphanelerini bulundururken, aynı zamanda onların bazılarına alternatif kütüphaneler de içerir. Merhaba Dünya!!! örneğini stdio.h yerine bir C++ kütüphanesi olan iostream.h kullanarak da yazmamız mümkün.
cassert : Makrolar ve programın hatalarının ayıklanmasına yardımcı olacak inceleme araçlarını eklemek için gerekli bilgileri içerir. Bu dosyanın eski adı assert.h idi.
cctpye : Karakterlerin bazı özelliklerini test eden fonksiyonların prototiplerini içerir. Ayrıca küçük harfleri büyük harflere çevirmek ya da bunun tam tersini yapmak için kullanılır. Eski adı ctype.h idi.
cfloat : Sistemin, float tipindeki sayılar için limitlerini içerir. Eski adı float.h idi.
climits : İntegral limitlerini içerir. limits.h yerine kullanılır.
cmath : Matematik kütüphane fonksiyonlarının prototiplerini içerir. math.h yerine kullanılır.
cstdio: Standart giriş/çıkış kütüphane fonksiyonlarının prototiplerini ve bu fonksiyonlar tarafından kullanılan bilgileri içerir. stdio.h yerine kullanılır.
cstdlib : Sayıları metne, metni sayılara çeviren, hafızada yer ayıran, rastgele sayılar üreten ve diğer çeşitli faydalı fonksiyonların prototiplerini içerir. stdlib.h yerine kullanılır.
cstring : C tarzı string işleme fonksiyonlarının prototiplerini içerir. string.h yerine kullanılır.
ctime : Zamanı ve tarihi yöneten fonksiyonların prototiplerini içerir. time.h yerine kullanılır.
iostream : Standart giriş/çıkış fonksiyonlarının prototiplerini içerir. iostream.h yerine kullanılır.
iomanip : Veri akışlarını biçimlendirme imkanı sağlayan, akış yönetim fonksiyonlarının prototiplerini içerir. iomanip.h yerine kullanılır.
fstream: Disk üzerindeki dosyalara giriş/çıkış işlemleri yapan fonksiyonların prototiplerini içerir. fstream.h yerine kullanılır.
utility : Bir çok standart kütüphane öncü dosyasının kullandığı sınıfları ve fonksiyonları içerir.
vector, list, deque, queue, stack, map, set
, bitset, functional
: Bu öncü dosyalar, standart kütüphane taşıyıcılarını sağlayan sınıfları içerir. Taşıyıcılar, programın çalışması sırasında verileri saklamak için kullanılır.
functional : Standart kütüphane algoritmaları tarafından kullanılan sınıf ve fonksiyonları içerir.
memory : Standart kütüphane taşıyıcılarına hafızada yer ayıran standart kütüphane tarafından kullanılan sınıfları içerir.
iterator : Standart kütüphane taşıyıcıları içindeki veriye ulaşmak için kullanılan sınıfları içerir.
algorithm : Standart kütüphane taşıyıcılarındaki bilgi üzerinde işlem yapan fonksiyonları içerir.
exception : İstisnai durumları işleyen sınıfları içeren öncü dosyalardır.
string : Standart kütüphanedeki string sınıfının tanımlanmasını içerir.
sstream : Hafızadan string girişi alan veya hafızaya string gönderen fonksiyonların prototiplerini içerir.
local: Farklı dillerin doğal hallerindeki bilgileri (para birimleri gibi) işlemek için kullanılan sınıf ve fonksiyonları içerir.
limits : Her bilgisayar platformu üzerindeki sayısal veri tiplerinin limitlerini belirleyen sınıfları içerir.
typeinfo : Çalışma anı tip yanıma yapmak için kullanılan sınıfları içerir (çalışma anındaki veri tiplerini belirler).
Temel Kütüphaneler Ve Örnekleri
cstring:
strchr,strcmp,strcoll,strcpy,strcspn,strerror,strlen,strncat,strncmp,strncpy,strpbrk,strrchr,strspn,strstr,strtok,strxfm fonksiyonları bu kütüphanede kullanılabilir. Örnek vermek gerekirse;
Kod:
#include <stdio.h>
#include <string.h>
int main ()
{
char str1[]="Sample string";
char str2[40];
char str3[40];
strcpy (str2,str1);
strcpy (str3,"kopyalama basarılı");
printf ("str1: %s\nstr2: %s\nstr3: %s\n",str1,str2,str3);
return 0;
}
ctime:
asctime, clock,ctime,difftime,gmtime,localtime, mktime,strftime ,time fonksiyonları bu kütüphanededir. Örnek vermek gerekirse;
Kod:
#include <time.h> /* clock_t, clock, CLOCKS_PER_SEC */
#include <math.h> /* sqrt */
int frequency_of_primes (int n) {
int i,j;
int freq=n-1;
for (i=2; i<=n; ++i) for (j=sqrt(i);j>1;--j) if (i%j==0) {--freq; break;}
return freq;
}
int main ()
{
clock_t t;
int f;
t = clock();
printf ("Calculating...\n");
f = frequency_of_primes (99999);
printf ("The number of primes lower than 100,000 is: %d\n",f);
t = clock() - t;
printf ("It took me %d clicks (%f seconds).\n",t,((float)t)/CLOCKS_PER_SEC);
return 0;
}
cmath :
log,sin,cos,tan,ceil,floor,fabs,pow,fmax,fmin, fonksiyonları bu kütüphanededir.Örnek vermek gerekirse;
Kod:
#include <stdio.h> /* printf */
#include <math.h> /* sqrt */
int main ()
{
double param, result;
param = 1024.0;
result = sqrt (param);
printf ("sqrt(%f) = %f\n", param, result );
return 0;
}
iostream:
cin,cout,cerr,clog,wcin,wcout,wcerr,wclog fonksiyonları bu kütüphanededir. Örnek vermek gerekirse;
Kod:
#include<iostream>
using namespace std;
int main(){
int a,b;
cout<<"Merhaba Dunya"<<endl;
cin>>a>>b;
return 0;
}
cstdio:
rename,remove,tmpfile,tmpnam,fclose,fflush,fopen,freopen,setbuf,stvbuf,fprintf,fscanf,printf,scanf,snprintf,sprintf,sscanf,vfprintf,vfscanf,vprintf,vscanf,fgetc,fputs,fgets,getc,getchar,puts,putc,fread,fwrite,fseek,fgetpos,ferror,perror fonksiyonları bu kütüphanede vardır.Örnek vermek gerekirse;
Kod:
#include <stdio.h>
int main ()
{
FILE * pFile;
int n;
char name [100];
pFile = fopen ("myfile.txt","w");
for (n=0 ; n<3 ; n++)
{
puts ("please, enter a name: ");
gets (name);
fprintf (pFile, "Name %d [%-10.10s]\n",n+1,name);
}
fclose (pFile);
return 0;
}
Alıntıdır.