Webmaster Forumu

Geri git   Webmaster Forumu > Webmaster Kaynak Eğitim Tanıtım Hizmet > İnternet Programlama ve Kodlama > Java JSP C#

Java JSP C# Java JSP C++ C# Delphi C Visual Basic

Cevapla
 
LinkBack Seçenekler Stil
  #1 (permalink)   iTrader 
Alt 2007-01-11, 20:33
SLiM_BoY - ait Kullanıcı Resmi (Avatar)
Gold Member
 
Üyelik tarihi: Aug 2005
Nerden: I live in English :p
Mesajlar: 1.459
Tecrübe Puanı: 4
iTrader: %100/4
SLiM_BoY has a spectacular aura about
Standart C'de dosya okuma ve metin ayıklama işlemi

C'de bir metin dosyasında bulunan tarihleri ayıklayan bir program var. Fakat dosya işlemleri konusunda zayıf olduğum için 1-2 yerini anlayamadım. Mesela

Kod:
const char *ctrl = "%2u %*1[./-] %2u %*1[./-] %u %*[^ 0123456789]";
bu satırda const char *ctrl 'nin görevi nedir ?

Kod:
return fscanf(fptr, ctrl, gun, ay, yil) == 3
bu satırda neden 3'e eşitledi ?

Programın tam hali :

Kod:
#include <stdio.h>

int tarih_oku(FILE *fptr, unsigned *gun, unsigned *ay, unsigned *yil)
{
    const char *ctrl = "%2u %*1[./-] %2u %*1[./-] %u %*[^ 0123456789]";
    fscanf(fptr, "%*[^0123456789]");
    return fscanf(fptr, ctrl, gun, ay, yil) == 3;
}

void tarihleri_al(FILE *fptr)
{
    unsigned gun_ = 0, ay_ = 0, yil_ = 0;

    while(!feof(fptr))
        if (tarih_oku(fptr, &gun_, &ay_, &yil_))
            printf("Bulunan tarihler: %u/%u/%u\n", gun_, ay_, yil_);
}

int main(void)
{
    puts("Tarih okunuyor!");
    tarihleri_al(stdin);
        
    return 0;
}
__________________
n'aber, n'apıosun ?
Alıntı ile Cevapla

  #2 (permalink)   iTrader 
Alt 2007-01-11, 23:24
ejder - ait Kullanıcı Resmi (Avatar)
Senior Member
 
Üyelik tarihi: Nov 2003
Nerden: istanbul
Mesajlar: 684
Tecrübe Puanı: 4
iTrader: %0/0
ejder will become famous soon enough
Standart

Kod:
const char *ctrl = "%2u %*1[./-] %2u %*1[./-] %u %*[^ 0123456789]";
burada ctrl isminde bir değişken tanımlanıyor, const char bu değişkenin cinsi, * pointer olduğunu gösteriyor.. C'de stringler char *degisken seklinde tanımlanır.. const'da bu değişkenin değiştirilemeyeceğini tanımlıyor

Kod:
return fscanf(fptr, ctrl, gun, ay, yil) == 3
burada da aslında
Kod:
int code;
code = fscanf(fptr, ctrl, gun, ay, yil);
if(code == 3)
return 1;
else
return 0;
kodunu kısa bir şekilde kullanmış..
__________________
"Topçu Çavuş, Tekirdağ-Hayrabolu :)" haber34.com

Konu ejder tarafından (2007-01-11 Saat 23:58 ) değiştirilmiştir..
Alıntı ile Cevapla

Cevapla

Seçenekler
Stil


Benzer Konular
Konu Konuyu Başlatan Forum Cevaplar Son Mesaj
dosya yükle dosya Upload bymuzikcom Yeni Site Tanıtımları 0 2006-12-14 22:06
duzeltme işlemi? akif PHP 2 2006-12-04 11:05
RSS Okuma Sitebul Forumda 0 2006-07-05 21:17
Mail Ayıklama Programı System32 Webmaster Genel Konular 1 2006-06-23 20:16
C tus okuma Anonymous Java JSP C# 2 2002-08-23 04:03


Bütün Zaman Ayarları WEZ +2 olarak düzenlenmiştir. Şu Anki Saat: 19:34 .


Powered by vBulletin® Version 3.7.3
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
Content Relevant URLs by vBSEO 3.2.0

Firefox