C++ String Fonksiyonları ile Dosya İşlemleri

C++ String Fonksiyonları ile Dosya İşlemleri

C++ programlama dili, string ve dosya işlemleri için birçok fonksiyon sunar Bu fonksiyonlar, string manipülasyonu yapmak ve dosya işlemlerini gerçekleştirmek için kullanılır Bu derlemede, C++ string fonksiyonları ve dosya işlemleri için en yaygın kullanılan fonksiyonlar ayrıntılı bir şekilde ele alınmıştır C++ string fonksiyonları ile string uzunluğu hesaplama, kopyalama, ekleme, karşılaştırma ve manipülasyon işlemleri yapmak mümkündür Dosya işlemleri için ise dosya açma, okuma, yazma ve kapatma işlemleri gerçekleştirmek için farklı fonksiyonlar kullanılabilir Bu derlemede, C++ programlama dilindeki string ve dosya işlemleri fonksiyonları ayrıntılıca açıklanarak örneklerle desteklenmiştir Bu sayede, C++ string ve dosya işlemleri fonksiyonlarını daha iyi anlamak ve kullanmak mümkündür

C++ String Fonksiyonları ile Dosya İşlemleri

C++ programlama dili, string ve dosya işlemleri için birçok fonksiyon sunar. Bu fonksiyonlar, string manipülasyonu yapmak ve dosya işlemlerini gerçekleştirmek için kullanılır. Bu derlemede, C++ string fonksiyonları ve dosya işlemleri için en yaygın kullanılan fonksiyonlar ayrıntılı bir şekilde ele alınmıştır.

C++ string fonksiyonları, stringlerin manipülasyonu için kullanılan fonksiyonlardır. Bunlar, bir stringi diğer bir stringle birleştirmek, stringin belirli bir karakter veya karakter grubunu aramak ve stringin bölümlerini çıkarmak gibi işlemlerde kullanılırlar. Ayrıca, dosya işlemlerinde de bazı string fonksiyonları kullanılabilir.

Dosya işlemleri, bir programın bir dosyayı açması, dosyayı yazması ve dosyayı kapatması gibi işlemleri içerir. Bu işlemler için C++ programlama dili, birçok dosya işlemleri fonksiyonu sunar. Bu fonksiyonlar, programlı dosyalara yazmak, dosyaları açmak, okumak ve kapatmak gibi işlemleri gerçekleştirmek adına kullanılırlar.

Bu derlemede, C++ string fonksiyonları ve dosya işlemi fonksiyonlarının açıklamaları ve kullanım alanları yer alacaktır. Ayrıca, her fonksiyon için örnek bir kod parçası ve çıktıları da sunulacaktır. Böylece, C++ programlama dili içindeki string ve dosya işlemleri için kullanılan fonksiyonlar hakkında daha ayrıntılı bilgi edinebilirsiniz.


String Fonksiyonları

C++ programlama dilindeki string fonksiyonları, string işlemleri için büyük bir kolaylık sağlar. Bu fonksiyonlar, 'string.h' kütüphanesi içinde yer almaktadır. Bu kütüphane içerisinde yer alan bazı string fonksiyonları ve kullanım alanları şunlardır:

  • strlen(): Bu fonksiyon, verilen stringin uzunluğunu hesaplar.
  • strcpy(): Bir stringi başka bir stringe kopyalamak için kullanılır.
  • strcat(): Bir stringin sonuna diğer bir stringi ekleme işlemi için kullanılır.
  • strcmp(): İki stringin karşılaştırılması işlemi için kullanılır.

Yukarıda belirtilen string fonksiyonları, C++ dilinde sıklıkla kullanılan fonksiyonlardır. Bu fonksiyonlar, stringlerle yapılan işlemlerde hayat kurtarıcıdır. Özellikle strcat() fonksiyonunun kullanımı oldukça yaygındır. strcat() fonksiyonu, bir stringin sonuna diğer bir stringi eklemek için sıklıkla kullanılır.

Oluşturduğunuz stringleri düzenlemek veya karakterlerini değiştirmek için de string fonksiyonları kullanabilirsiniz. Örneğin, strrev() fonksiyonu, bir stringin tersini oluşturmak için kullanılır. Ayrıca, stringler içinde belirli bir karakter veya karakter grubunu aramak için find() fonksiyonu kullanılabilir. Bu fonksiyonun kullanımı kolaydır ve doğru sonuçlar verir.

C++ dilindeki string fonksiyonları çok işlevsel ve kullanımı kolaydır. Bunları öğrenmek, programcıların işlemlerini daha hızlı ve kolay bir şekilde gerçekleştirmelerine olanak tanır.


append() Fonksiyonu

append() Fonksiyonu Nedir?

C++ dilinde, bir stringe başka bir stringin eklenmesini sağlayan append() fonksiyonu kullanılır. Bu fonksiyon, stringlerin sonuna ekleme işlemi yaparak mevcut stringi değiştirir.

append() Fonksiyonu Nasıl Kullanılır?

append() fonksiyonunu kullanarak bir stringe başka bir string eklemek için şu şekilde bir kod yazabilirsiniz:

string ilksatir = "Giriş: ";string ikincisatir = "Bu bir örnektir.";    ilksatir.append(ikincisatir);

Bu kod parçası, ilksatir stringine ikincisatir stringinin sonunu ekleyerek sonucu ilksatir içinde güncelleyecektir. Yeni ilksatir stringi şu şekildedir:

Giriş: Bu bir örnektir.

append() Fonksiyonunun Benzer Fonksiyonları

Bir stringe başka bir stringin eklenmesi için append() fonksiyonu kullanılabileceği gibi, bu işlemi yapmak için diğer fonksiyonlar da kullanılabilir. Bu fonksiyonlar şunlardır:

  • operator+()
  • push_back()
  • insert()

Bu benzer fonksiyonlar da bir stringe başka bir stringi eklemek için kullanılabilir. Ancak append() fonksiyonu, bir stringi en kolay ve hızlı şekilde genişletmek için en doğru seçimdir.


Örnek Kullanımı

Bu örnekte, öncelikle birinci string değişkeni tanımlandı ve içerisine "Merhaba " değeri atandı. Daha sonra ikinci string değişkeni tanımlandı ve içerisine "Dünya!" değeri atandı.

Kod ParçasıÇıktı
string birinci = "Merhaba ";string ikinci = "Dünya!";birinci.append(ikinci);cout << birinci;
Merhaba Dünya!

Yukarıdaki örnekte, append() fonksiyonu kullanılarak birinci string değişkenine ikinci string değeri eklenmiştir. Sonrasında cout fonksiyonu kullanılarak birinci string değişkeni yazdırılmıştır.


Benzer Fonksiyonlar

Benzer Fonksiyonlar: String işlemleri sırasında append() fonksiyonunun yanı sıra kullanılabilen diğer fonksiyonlar vardır. Bu fonksiyonlar şunlardır:

  • push_back(): Bir stringin sonuna belirtilen karakter veya karakterleri eklemek için kullanılır.
  • insert(): Bir stringe belirtilen karakter veya karakterleri belirtilen konumdan itibaren eklemek için kullanılır.
  • substr(): Bir stringin belirtilen konumundan başlayarak belirtilen karakter sayısı kadar karakteri almak için kullanılır.
  • replace(): Bir string içindeki belirtilen karakter veya karakter grubunu başka bir karakter veya karakter grubu ile değiştirmek için kullanılır.

Bu fonksiyonlar append() fonksiyonuna alternatif olarak kullanılabilmektedir. Kullanılacak olan fonksiyonun amaçlanan işleve uygun olanı seçilmelidir. Örneğin, değiştirilecek kısım belirli bir konuma sahip ise insert() fonksiyonu daha uygun bir seçim olabilir. Öte yandan, bir karakterin sonuna eklemek isteniyorsa push_back() fonksiyonu kullanılabilir. Kullanılacak fonksiyonun belirlenmesi, programın doğru çalışması ve gereksiz iş yükünün önlenmesi açısından önemlidir.


find() Fonksiyonu

find() fonksiyonu, bir string içinde belirli bir karakter veya karakter grubunun konumunu bulmayı sağlar. Bu fonksiyon kullanılarak bir string içinde kelime tarama işlemi gerçekleştirilebilir. Kullanımı oldukça basittir ve fonksiyonun getireceği sonuçların işlem süresi oldukça kısadır.

find() fonksiyonu, iki parametre alır: aranacak karakter veya karakter grubu ve arama yapılacak başlangıç pozisyonu. Parametrelerde kullanılan veri tipi "size_t", yani pozitif tamsayılardır. Birinci parametre, aranacak karakter veya karakter grubunu belirlerken, ikinci parametre ise aramanın hangi karakterden veya karakter grubundan sonra başlayacağını belirtir.

find() fonksiyonu, aranan karakter veya karakter grubunu bulduğunda pozisyonunu bir integer olarak döndürür. Eğer karakter veya karakter grubu bulunamazsa fonksiyon "string::npos" değerini geri döndürür. Ayrıca bu fonksiyondan, bulunan karakter veya karakter grubunun tekrar ettiği durumlarda sadece ilk bulunanın pozisyonu döndürülür.

find() fonksiyonu, C++ programlama dilindeki önemli string fonksiyonlarından biridir. Birçok string işlemi yaparken bu fonksiyon sıklıkla kullanılır. Bir örnek olarak, bir dosya içinde belirli bir kelime ararken veya bir string içinde bazı karakterleri bulup değiştirirken find() fonksiyonu üzerinden ilerlenebilir.


Örnek Kullanımı

Bir string içinde belirli bir karakter veya karakter grubunun konumunu bulmak için find() fonksiyonu kullanılabilir. Aşağıdaki örnek kod parçasını kullanarak find() fonksiyonu nasıl kullanılır, inceleyelim:

Kod Çıktı
string str = "Bu bir örnek cümledir.";size_t pos = str.find("örnek");if(pos != string::npos) {   cout << "örnek kelimesi, " << pos << ". konumda bulundu." << endl;} else {   cout << "örnek kelimesi bulunamadı." << endl;}
örnek kelimesi, 7. konumda bulundu.

Bu örnek kod parçası, "str" stringi içinde "örnek" kelimesinin konumunu bulur. Eğer "örnek" kelimesi string içinde bulunamazsa, "npos" değeri geri dönüş olarak kullanılır. Ayrıca, örnek kod parçası içinde size_t veri tipi kullanılmıştır. Bu veri tipi, unsigned integer değerleri tutmak için kullanılan bir tamsayı tipidir.


Benzer Fonksiyonlar

Benzer Fonksiyonlar:

İşlem yapılacak stringin boyutuna ve ihtiyacına göre, find() fonksiyonuna alternatif olarak kullanılabilecek diğer string fonksiyonları mevcuttur.

Fonksiyon Açıklama
compare() İki stringi karşılaştırır ve sonuç olarak farklılıkların sayısını döndürür.
replace() İlgili string içinde yer alan belirli bir karakter veya karakter grubunu başka bir karakter veya karakter grubu ile değiştirir.
substr() String içinde belirli bir konumdan itibaren istenilen sayıda karakteri kesip başka bir string olarak döndürür.

Yukarıdaki fonksiyonlar find() fonksiyonuna alternatif olarak sıklıkla kullanılmaktadır. Ancak, her biri farklı bir ihtiyaç için tasarlanmıştır ve hangisinin kullanılacağı, işlem yapılacak stringin özelliklerine bağlı olarak değişebilir.


Dosya İşlemleri

C++ programlama dilinde dosya işlemleri, dosya oluşturma, dosya açma, okuma, yazma ve silme işlemlerini kapsar. C++ dosya işlemleri için kullanılan temel fonksiyonlar arasında open() ve close() fonksiyonları bulunur. Ayrıca, farklı işlemler gerçekleştirmek için diğer dosya işlemleri fonksiyonları da kullanılabilir. Bu fonksiyonların açıklamaları ve kullanım alanları hakkında detaylı bilgiye sahip olmak, bir C++ programcısı için oldukça önemlidir.

open() fonksiyonu, bir dosyanın açılmasını veya dosya oluşturma işlemini gerçekleştirir. Dosya, okuma, yazma veya hem okuma hem de yazma işlemleri için açılabilir. Dosya işleminin yapılacağı mod seçenekleri arasında, ios::in, ios::out, ios::app ve ios::ate yer alır. Her bir mod seçeneği, belirli bir amaca yönelik farklı işlemler yapmak için kullanılabilir. Örneğin, ios::in modu, dosya okuma işlemleri için kullanılırken, ios::out modu ise dosya yazma işlemleri için kullanılır. Aşağıdaki örnek kod parçası, open() fonksiyonunun nasıl kullanılacağına dair bir fikir vermektedir.

Örnek Kod Çıktı
ofstream dosya; dosya.open("ornek.txt", ios::out | ios::app); dosya << "C++ dosya islemleri ornegi"; dosya.close(); ornek.txt dosyasına "C++ dosya islemleri ornegi" yazılır.

close() fonksiyonu ise açık bir dosyanın kapatılmasını sağlar. Eğer dosya işlemleri tamamlandıysa ve açık olan bir dosya varsa, dosya işlemlerinden sonra dosyanın kapatılması önemlidir. Aksi halde, program belleği gereksiz yere tüketerek performans kaybına neden olabilir. Aşağıdaki örnek kod parçası, close() fonksiyonunun nasıl kullanılacağına dair bir fikir vermektedir.

Örnek Kod Çıktı
ofstream dosya; dosya.open("ornek.txt", ios::out | ios::app); dosya << "C++ dosya islemleri ornegi"; dosya.close(); ornek.txt dosyasına "C++ dosya islemleri ornegi" yazılır. Dosya kapatılır.

C++ dosya işlemleri için açık kaynaklı kütüphaneler de kullanılabilir. Bu kütüphaneler, dosya işlemlerini yapmak için hazır fonksiyonlar sunar ve programcıların işini kolaylaştırır.


open() Fonksiyonu

C++ programlama dilinde dosya işlemleri oldukça önemlidir. Bu nedenle dosya işlemleri için kullanılan open() fonksiyonu da oldukça değerlidir. open() fonksiyonu, bir dosyanın açılmasını ve dosya oluşturma işlemlerini gerçekleştirir. Bu fonksiyonu kullanarak dosyalardan bilgi okuyabilir, dosyalara veri yazabilir ve var olan dosyaları güncelleyebilirsiniz.

Bir dosyayı açmak için, open() fonksiyonu kullanılmalıdır. Fonksiyonun ilk parametresi, açmak istediğiniz dosyanın adıdır. İkinci parametre ise hangi amaçla dosyayı açmak istediğinizi belirtir. Okumak ya da yazmak gibi amaçlar belirtilir. Ayrıca dosyanın açılmasını istediğiniz dosya tipini de seçebilirsiniz. Örneğin, binary ya da text dosyası olarak açılabilir.

Parametre Adı Açıklama
filename Açmak istediğiniz dosyanın adı.
mode Dosyanın hangi amaçla açılacağını belirler. read, write ya da append gibi değerler alabilir.
type Dosya tipini belirler. Binary ya da text dosyası olarak açılabilir.

open() fonksiyonu, parametrelerin eksiksiz bir şekilde girilmesi gerektiğinden hataya neden olabilir. Dosyanın başarıyla açıldığını doğrulamak için, is_open() fonksiyonu kullanılarak bir kontrol gerçekleştirilebilir.

Örnek Kullanımı

#include <iostream>#include <fstream>using namespace std;int main() {   // Dosya oluşturma işlemi   ofstream dosya;   dosya.open("ornek.txt");   dosya << "Merhaba, Dünya!" << endl;   dosya.close();      // Dosya okuma işlemi   ifstream dosyaOku("ornek.txt");   string satir;   while(getline(dosyaOku, satir)) {      cout << satir << endl;   }   dosyaOku.close();      return 0;}

Bu örnekte, dosya oluşturma ve dosya okuma işlemleri için open() fonksiyonu kullanılmaktadır. Dosya oluşturma işlemi gerçekleştirilirken, önce ofstream sınıfı tanımlanır ve dosya adı verilir. Daha sonra, dosya.write() fonksiyonları kullanılarak veriler dosyaya yazdırılır ve son olarak dosya.close() ile dosya kapatılır.

Bir sonraki adımda, dosyanın içeriği okunur. Dosya okuma işlemi yapmak için ise, ifstream sınıfı kullanılır. Satır satır dosya okunur ve her bir satır cout fonksiyonu ile ekrana yazdırılır.

Benzer Fonksiyonlar

  • fopen()
  • close()
  • remove()

Örnek Kullanımı

Örnek Kullanımı

Dosya işlemleri sırasında sık sık kullanılan open() fonksiyonu, bir dosyayı açmak veya oluşturmak için kullanılır. Aşağıdaki örnek kod parçası, kullanıcıdan dosya adını ve açma modunu (okuma, yazma veya her ikisi) alarak bir dosyanın açılmasını sağlar:

#include <iostream>#include <fstream>using namespace std;

int main() { string dosyaAdi, mod; cout << "Dosya adını ve açma modunu girin: "; cin >> dosyaAdi >> mod;

fstream dosya; dosya.open(dosyaAdi, ios::out);

if (dosya.is_open()) { cout << "Dosya başarılı bir şekilde açıldı." << endl; } else { cout << "Dosya açılamadı." << endl; }

dosya.close(); return 0;}

Yukarıdaki kod parçasında, kullanıcının girdiği dosya adı ve açma modu fstream nesnesi tarafından kullanılır. open() fonksiyonu, dosya adını ve dosya açma modunu alır ve dosyayı açar. Daha sonra, dosyanın başarılı bir şekilde açılıp açılmadığını kontrol etmek için is_open() fonksiyonu kullanılır. Son olarak, dosyanın kapatılması için close() fonksiyonu kullanılır.

Yukarıdaki kod parçasının çıktısı, dosya başarılı bir şekilde açıldığında "Dosya başarılı bir şekilde açıldı." mesajını verirken, dosya açılamadığında "Dosya açılamadı." mesajını verir.


Benzer Fonksiyonlar

open() fonksiyonu haricinde C++ programlama dilinde birçok alternatif dosya işlemleri fonksiyonu bulunmaktadır. Bu fonksiyonlar sayesinde dosyaların oluşturulması, okunması, düzenlenmesi ve silinmesi işlemleri kolaylıkla yapılabilmektedir. İşte open() fonksiyonuna alternatif olarak kullanılabilecek diğer dosya işlemleri fonksiyonları:

Fonksiyon Açıklama
fopen() Belirtilen dosyayı açmak veya dosya yoksa yeni bir dosya oluşturmak için kullanılır
fclose() Açık olan bir dosyayı kapatmak için kullanılır
fputs() Dosyaya karakter veya karakter dizisi eklemek için kullanılır
fgets() Dosyadan bir satır okumak için kullanılır
fwrite() Dosyaya belirli bir boyutta veri yazmak için kullanılır
fread() Dosyadan belirli bir boyutta veri okumak için kullanılır

Bu fonksiyonlar, dosya işlemlerini kolaylaştırırken, açık bir dosyanın kapatılmaması veya yanlış kullanımı durumunda istenmeyen sonuçlara neden olabilir. Bu nedenle, dosya işlemleri işlemi yaparken, fonksiyonların doğru kullanıldığından emin olunmalı ve açık olan dosyanın her zaman kapatılması sağlanmalıdır.


close() Fonksiyonu

close() fonksiyonu, açık bir dosyanın kapatılmasını sağlamak için kullanılan bir C++ dosya işlemleri fonksiyonudur. Bu fonksiyon, dosyayı işlem yapmak için açan open() fonksiyonunun tamamlayıcısı olarak kullanılır.

Açık bir dosyanın kapatılmaması, dosyaya yapılan işlemlerin kalıcı hale gelmesine engel olabilir ve dosya üzerindeki değişiklikler kaybolabilir. Dolayısıyla, dosya işlemlerinde close() fonksiyonunun kullanılması önemlidir.

close() fonksiyonunun kullanımı oldukça basittir. Fonksiyon çağrısı sırasında, kapatılacak dosyanın dosya işaretçisi (file pointer) close() fonksiyonuna parametre olarak verilir.

Aşağıdaki örnek kod parçası, open() fonksiyonuyla açılan ve close() fonksiyonu kullanılarak kapatılan bir dosya işlemi gerçekleştirir:

#include <iostream>#include <fstream>using namespace std;int main() {    // Dosya işlemleri    ofstream dosya;    dosya.open("ornek.txt");    // Dosyaya veri yazma    dosya << "Bu bir ornek yazidir\n";    dosya << "File I/O islemi yapiliyor...\n";    // Dosyayi kapatma    dosya.close();    return 0;}

Yukarıdaki kod parçasında, önce ofstream sınıfından dosya nesnesi tanımlanır ve açılmak istenen dosya adı ile birlikte open() fonksiyonuna parametre olarak verilir. Dosyaya veri yazmak için, dosya nesnesi kullanılarak veri yazım işlemi gerçekleştirilir. Son olarak, dosyanın kapatılması için close() fonksiyonu çağrılır. Bu işlem, dosyaya yapılan değişikliklerin kaydedilmesini sağlar ve dosya işaretçisi kapatılır.

C++ dosya işlemlerinde, açık bir dosyanın tamamen işlem bittiğinde kapatılması oldukça önemlidir. close() fonksiyonu, dosyanın kapatılması için yaygın olarak kullanılan bir fonksiyon olsa da, dosya işlemleri için farklı alternatifler de mevcuttur. Bunlar arasında fclose() ve _fcloseall() fonksiyonları yer alır.

Fonksiyon Açıklama
fclose() Açık bir dosyanın kapatılmasını sağlar. Bu fonksiyon C dilinde kullanılır.
_fcloseall() Bütün açık dosyaları kapatmak için kullanılır.

fclose() fonksiyonu, C dilinde yer alan bir fonksiyondur ve C++ dosya işlemleri için kullanılabilir. _fcloseall() fonksiyonu ise, bütün açık dosyaları kapatmak için kullanılan bir C++ fonksiyonudur.


Örnek Kullanımı

Bu örnek kod parçasında, bir dosyanın açılması ve içeriği kapatılması yer alıyor. İlk olarak "dosya" adında bir ofstream nesnesi tanımlanıyor. Bu nesne dosyanın içine yazılacak verileri tutmak için oluşturuluyor. Daha sonra, dosyanın açılması için open() fonksiyonu kullanılıyor ve birinci argüman olarak dosya adı, ikinci argüman olarak açma modu belirtiliyor. Açma modu, dosyanın sadece yazılabilir ya da hem yazılabilir hem de okunabilir modda açılmasını belirleyebilir. Eğer dosya yoksa ofstream, otomatik olarak dosyayı oluşturacaktır.

Dosya içine veriler yazıldıktan sonra, bu dosyanın kapatılması gerekir. Kapatmak için de close() fonksiyonu kullanılır. Bu fonksiyon hiçbir argüman almaz ve sadece dosyayı kapatır. Bu örnekte işlem tamamlandığında, kullanıcıya "Dosya başarıyla kapatıldı!" şeklinde bir mesaj gösterilir.

Aşağıdaki örnek kod parçası, bu iki fonksiyonun doğru kullanımını gösterir:

Kod Çıktı
  #include#include using namespace std; int main(){    ofstream dosya;    dosya.open("ornek.txt");    dosya << "Bu bir deneme yazısıdır.\n";    dosya.close();    cout<<"Dosya başarıyla kapatıldı!";    return 0;}
Bu kod parçasının çıktısı özel bir şey göstermez. Sadece "Dosya başarıyla kapatıldı!" şeklinde bir mesaj gösterir.

Benzer Fonksiyonlar

C++ programlama dilinde dosya işlemleri için kullanılan fonksiyonlar oldukça çeşitlidir ve close() fonksiyonuna alternatif olarak pek çok seçenek bulunmaktadır. Bununla birlikte, en sık kullanılan bazı dosya işlemleri fonksiyonları aşağıda sıralanmıştır:

Fonksiyon Adı Açıklama
fclose() Bir dosyanın kapatılmasını sağlar.
fread() Bir dosyadan veri okur.
fwrite() Bir dosyaya veri yazar.
fseek() Bir dosyada ilerlemeyi sağlar.
rewind() Bir dosyayı başlangıç konumuna getirir.

fclose() fonksiyonu, dosyayı kapatırken bellekteki tamponlanmış verileri de kaydeder. fread() ve fwrite() fonksiyonlarının her ikisi de veri boyutunu ve okunacak veya yazılacak veri miktarını belirlemek için kullanılır. fseek() fonksiyonu, dosya işaretçisini belirli bir pozisyona taşımak için kullanılır. rewind() fonksiyonu, dosya işaretçisini dosyanın başına taşır.