Şimdi Ara

Bi metin belgesi'nin kaç satırdan oluştuğunu bulabilir miyiz? (C)

Daha Fazla
Bu Konudaki Kullanıcılar: Daha Az
2 Misafir - 2 Masaüstü
5 sn
12
Cevap
0
Favori
855
Tıklama
Daha Fazla
İstatistik
  • Konu İstatistikleri Yükleniyor
0 oy
Öne Çıkar
Sayfa: 1
Giriş
Mesaj
  • aslında eski konudaki soru için gerekli ama bidaha ordakileri rahatsız etmek istemedim bunu yapabilir miyiz? mesela txt'de

    "" abc
    klm
    nmy
    "
    yazıyor. 3 satırdan oluştuğunu nasıl bulabiliriz acaba ?



  • Öteki konudan çıktım buraya geldim.

    Satırları saymak için feof() ile dosya sonunu görene kadar fgets() ile satırları okursun. Döngüye de bir sayaç koyarsın. Kısaca fgets kaç kere çalışırsa satır sayısı odur.
  • quote:

    Orijinalden alıntı: elektro_gadget

    Öteki konudan çıktım buraya geldim.

    Satırları saymak için feof() ile dosya sonunu görene kadar fgets() ile satırları okursun. Döngüye de bir sayaç koyarsın. Kısaca fgets kaç kere çalışırsa satır sayısı odur.

    ohh dedim resmen çok saol hocam ya çok teşekkürler yalnız fcanf ile yaptım fscanf(dosya,"%s",kelime) şeklinde. fgets de nasıl olur beceremedim onu




  • http://www.cplusplus.com/reference/clibrary/cstdio/fgets/

    Bu sitede tüm hazır fonksiyonları bulabilirsin
  • Önce en uzun satırdaki karakterleri alabilecek kadar yer lazım, 1000 uygundur.

    char dizi[1000];
    int adet = 0;

    while(!feof(dosya)) {
    fgets(dizi, 1000, dosya);
    ++adet;
    }
    // adet == satır sayısı
  • Yok yukarıdaki olmadı. Kesinlik yok, unut gitsin. Şöyle olmalı.

    FILE* dosya = ...
    int adet = 0;

    while(!feof(dosya)) {
    if(fgetc(dosya) == '\n')
    ++adet;
    }
  • quote:

    Orijinalden alıntı: elektro_gadget

    Yok yukarıdaki olmadı. Kesinlik yok, unut gitsin. Şöyle olmalı.

    FILE* dosya = ...
    int adet = 0;

    while(!feof(dosya)) {
    if(fgetc(dosya) == '\n')
    ++adet;
    }

    Dosyanın en sonunda satır atlanmışsa ama bir şey yazmıyosa ne olacak?

    Maksat trollük
  • Yapay Zeka’dan İlgili Konular
    Daha Fazla Göster
  • quote:

    Orijinalden alıntı: elektro_gadget

    Yok yukarıdaki olmadı. Kesinlik yok, unut gitsin. Şöyle olmalı.

    FILE* dosya = ...
    int adet = 0;

    while(!feof(dosya)) {
    if(fgetc(dosya) == '\n')
    ++adet;
    }

    saol hocam işe yaradı

    quote:

    Meniz


    aslında bunları biliyodum ama feof fonksiyonuyla yapıcamı düşünemedim
  • quote:

    Orijinalden alıntı: Meniz

    quote:

    Orijinalden alıntı: elektro_gadget

    Yok yukarıdaki olmadı. Kesinlik yok, unut gitsin. Şöyle olmalı.

    FILE* dosya = ...
    int adet = 0;

    while(!feof(dosya)) {
    if(fgetc(dosya) == '\n')
    ++adet;
    }

    Dosyanın en sonunda satır atlanmışsa ama bir şey yazmıyosa ne olacak?

    Maksat trollük

    o nasıl olur bilmiyorum ama arkadaşın verdiği tavsiyeyle ben şöyle yaptım

    FILE *dosya; 

    int satir=0;
    char kelime[30];

    while (!feof(dosya))
    {fscanf(dosya,"%s",kelime);
    satir=satir+1;
    }
    printf("satir sayisi %d",satir);
    fclose(dosya);



    < Bu mesaj bu kişi tarafından değiştirildi Accio -- 9 Şubat 2012; 0:20:55 >




  • quote:

    Orijinalden alıntı: Accio

    FILE *dosya; 

    int satir=0;
    char kelime[30];

    while (!feof(dosya))
    {fscanf(dosya,"%s",kelime);
    satir=satir+1;
    }
    printf("satir sayisi %d",satir);
    fclose(dosya);


    kodun hatalı.

    abc def
    gh
    ij

    değerleri için cevabı 4 verecektir.
    C ve C++ için string'in anlamı beyaz karakterler(boşluk, yeni satır, tab...) ile biten yazı demektir.
  • quote:

    Orijinalden alıntı: qamyoncu

    quote:

    Orijinalden alıntı: Accio

    FILE *dosya; 

    int satir=0;
    char kelime[30];

    while (!feof(dosya))
    {fscanf(dosya,"%s",kelime);
    satir=satir+1;
    }
    printf("satir sayisi %d",satir);
    fclose(dosya);


    kodun hatalı.

    abc def
    gh
    ij

    değerleri için cevabı 4 verecektir.
    C ve C++ için string'in anlamı beyaz karakterler(boşluk, yeni satır, tab...) ile biten yazı demektir.

    doğru diyosun aslında onu farketmedim ama ben sözlük gibi bişey için kullanacağımdan işimi görüyo yukardaki nasıl olur acaba \n li olan ?




  • '\n' satır atlama karakteri olduğundan her satır atlandığında sayaç 1 artar. Aslında fgets'te kullanılabilir, hatta elektro'da yazmış onu ama sonra vazgeçmiş neden anlamadım
  • 
Sayfa: 1
- x
Bildirim
mesajınız kopyalandı (ctrl+v) yapıştırmak istediğiniz yere yapıştırabilirsiniz.