C++ Kütüphanelerin Kullanım Alanları

Noises

Üye
22 Ağu 2017
165
0
26
Balıkesir
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 C’de 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++, C’nin 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.
 
Üst

Turkhackteam.org internet sitesi 5651 sayılı kanun’un 2. maddesinin 1. fıkrasının m) bendi ile aynı kanunun 5. maddesi kapsamında "Yer Sağlayıcı" konumundadır. İçerikler ön onay olmaksızın tamamen kullanıcılar tarafından oluşturulmaktadır. Turkhackteam.org; Yer sağlayıcı olarak, kullanıcılar tarafından oluşturulan içeriği ya da hukuka aykırı paylaşımı kontrol etmekle ya da araştırmakla yükümlü değildir. Türkhackteam saldırı timleri Türk sitelerine hiçbir zararlı faaliyette bulunmaz. Türkhackteam üyelerinin yaptığı bireysel hack faaliyetlerinden Türkhackteam sorumlu değildir. Sitelerinize Türkhackteam ismi kullanılarak hack faaliyetinde bulunulursa, site-sunucu erişim loglarından bu faaliyeti gerçekleştiren ip adresini tespit edip diğer kanıtlarla birlikte savcılığa suç duyurusunda bulununuz.