0Pricing
C++ Academy · Ders

CSV Dosyalarını Okuma ve Yazma

CSV dosyalarını satır satır ayrıştırın ve sonuçları diske geri yazın

CSV Dosyalarını Okuma ve Yazma, CoddyKit'te ücretsiz bir C++ Academy dersidir. Bu, 4 dersinin 2. dersidir. Aşağıdan dersin tamamını ücretsiz okuyabilir, sonra tarayıcıda yerleşik kod editörü ve 7/24 yapay zeka koçu ile uygulamalı olarak pratik yapabilirsin. Bu, C++ Academy öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. C++ Academy kursu toplamda 4 dersten oluşur.

CSV Nedir?

CSV (Virgülle Ayrılmış Değerler), düz metinli bir tablo biçimidir. Her satır bir kayıttır; virgüller sütunları ayırır. Basit olmasına rağmen uç durumlarla doludur.

Gerekli Başlık Dosyaları

Dosyalar için fstream, ayrıştırma için sstream kullanın.

#include <fstream>
#include <sstream>
#include <string>
#include <vector>

Okumak İçin Dosya Açma

Dosya yoluyla bir std::ifstream oluşturun. Açıldığını denetleyin.

std::ifstream file("data.csv");
if (!file) {
    std::cerr << "Cannot open file\n";
    return 1;
}

Satır Satır Okuma

Kayıtlar üzerinde yinelemek için std::getline kullanın.

std::string line;
while (std::getline(file, line)) {
    process(line);
}

Bir Kaydı Bölme

Her kaydı alanlara bölmek için bir stringstream ve sınırlayıcıyla birlikte getline kullanın.

std::vector<std::string> split(const std::string& line) {
    std::vector<std::string> fields;
    std::stringstream ss(line);
    std::string field;
    while (std::getline(ss, field, ',')) {
        fields.push_back(field);
    }
    return fields;
}

Başlığı Atをlama

Sütun adlarını içeriyorsa ilk satırı okuyup atın.

std::string header;
std::getline(file, header);   // discard

Türlü Alanları Ayrıştırma

Dize alanlarını std::stoi veya std::stod ile türü belirlenmiş değerlere dönüştürün.

auto fields = split(line);
int id = std::stoi(fields[0]);
double price = std::stod(fields[2]);

CSV Yazma

Yazmak için std::ofstream kullanın. Değerleri << ile akışa aktarın ve virgüllerle satır sonları ekleyin.

std::ofstream out("results.csv");
out << "name,score\n";
out << "Ada,95\n";
out << "Bob,82\n";

Virgül İçeren Alanları Tırnaklama

Bir alan virgül içeriyorsa onu çift tırnak içine alın. Alanın içine tırnak eklemek için tırnağı iki kez yazın.

std::string escape(const std::string& s) {
    if (s.find_first_of(",\"\n") == std::string::npos) return s;
    std::string r = "\"";
    for (char c : s) {
        if (c == '"') r += '"';
        r += c;
    }
    return r + "\"";
}

Alanlardaki Satır Sonlarını Ele Alma

Tırnak içine alınmış alanlar birden çok fiziksel satıra yayılabilir. Sağlam bir CSV okuyucu, getline çağrıları arasında tırnak durumunu izler. Basit durumlarda çok satırlı olmayan alanlarla yetinin.

Dosyayı Kapatma

Dosya akışları yok edildiklerinde otomatik olarak kapanır (RAII). Açıkça kapatmak için file.close() kullanın; bu yalnızca akışı yeniden kullanmak istediğinizde gereklidir.

Kitaplık Ne Zaman Kullanılır?

Karmaşık CSV dosyaları (tırnak içindeki virgüller, çok satırlı değerler, karakter kodlaması) için rapidcsv veya csv-parser gibi bir kitaplık kullanın. Kendi çözümünüzü yalnızca basit ve denetimli biçimler için yazın.

Kısa Sınama

Yalnızca standart kitaplığı kullanarak bir satırı virgüllerden bölen teknik nedir?

Özet

CSV'yi std::ifstream + std::getline ile okuyun, kayıtları virgül sınırlayıcılı bir stringstream ile bölün ve türlü alanları std::stoi/stod ile ayrıştırın. Karmaşık CSV için gerçek bir kitaplık kullanın.

Sıkça Sorulan Sorular

“CSV Dosyalarını Okuma ve Yazma” dersi ücretsiz mi?

Evet — “CSV Dosyalarını Okuma ve Yazma” dersin tüm metni burada web'de ücretsiz olarak okunabilir. Etkileşimli olarak pratik yapmak (yerleşik kod editörü ve 7/24 yapay zeka koçu) ve C++ Academy kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. C++ Academy kursu toplamda 4 dersten oluşur.

“CSV Dosyalarını Okuma ve Yazma” dersinde ne öğreneceğim?

CSV dosyalarını satır satır ayrıştırın ve sonuçları diske geri yazın C++ Academy ile uygulamalı kodu tarayıcıda doğrudan çalıştırarak pratik yaparsın ve 7/24 yapay zeka koçu dersi çalışırken sorularını yanıtlar.

C++ Academy öğrenmeye başlamak için deneyim gerekli mi?

Önceden deneyim gerekmez. CoddyKit'te C++ Academy, başlangıçtan ileri seviyeye kadar yapılandırıldığı için buradan başlayabilir veya başından başlayıp kendi hızında ilerleme yapabilirsin. Bu, 4 dersinin 2. dersidir.

“CSV Dosyalarını Okuma ve Yazma” dersi ne kadar sürer?

Çoğu CoddyKit dersi yaklaşık 5–10 dakika sürer. Her biri kısa ve etkileşimli olduğu için sabit ilerleme yaparsın ve web ile uygulama arasında tam olarak bıraktığın yerden devam edebilirsin.

Bu C++ Academy dersinde kod yazıp çalıştırabilir miyim?

Evet. Her C++ Academy dersi yerleşik bir kod editörü içerir, bu sayede tarayıcıda gerçek kod yazıp çalıştırabilir ve anlık yapay zeka geri bildirimi alırsın — yerel kurulum gerekli değildir.

Bu kursun tüm dersleri

  1. Basit Bir CLI Hesap Makinesi Oluşturma
  2. CSV Dosyalarını Okuma ve Yazma
  3. Sayı Tahmin Oyunu
  4. Sözcük Sıklığı Sayacı
← C++ Academy Sayfasına Dön