folder Tahribat.com Forumları
linefolder C - C++
linefolder C - Winapi - Findfirstfile Fonksiyonu Anormalliği



C - Winapi - Findfirstfile Fonksiyonu Anormalliği

  1. KısayolKısayol reportŞikayet pmÖzel Mesaj
    niRvana_GG
    niRvana_GG's avatar
    Kayıt Tarihi: 01/Kasım/2012
    Erkek

    Sabah-ı şerifleriniz hayrolsun.

    #include <stdio.h>
    #include <stdlib.h>
    #include <windows.h>
    #include <locale.h>
    #include <limits.h>
    #include <ctype.h>
    #include <string.h>
    #include <time.h>
    #include <math.h>
    #include <tchar.h>
    #include <sys/types.h>
    #include <dirent.h>

    int main(int argc, char **argv){

         WIN32_FIND_DATA FindFileData;
         HANDLE hFind;
         int i;

         hFind = FindFirstFile("C:\\Users\\user\\Desktop\\dev\\Asd\\*.*", &FindFileData);

         printf("%s", FindFileData.cFileName);

         for(i = 0; i < 9; i++){

              FindNextFile(hFind, &FindFileData);

              printf("%s\n", FindFileData.cFileName);

         }

     

      printf("\n");
      system("PAUSE");
      return 0;

     

    ----------------------

     

    Bu kodun çıktısı

     

    ...
    deneme.txt
    dinamikdizi.o
    filefuncs.o
    main2.o
    mystring.o
    Proje1.layout
    Proje2.layout
    tekrar.o

    Devam etmek için bir tuşa basın . . .

     

    ----------------------------------

    Asd klasörünün içinde olan dosyaları ise

    deneme.txt
    dinamikdizi.o
    filefuncs.o
    main2.o
    mystring.o
    Proje1.layout
    Proje2.layout
    tekrar.o


    bu dosyalar. Benim anlamadığım nokta, neden çıktıda "..." olduğu.

    Ayrıca

    Bu kodu derleyip çalıştırdığım zaman,

         DIR *dp;
         struct dirent *ep;
         dp = opendir("C:\\Users\\user\\Desktop\\Dev\\Asd\\./");

         if (dp != NULL)
         {
              while (ep = readdir(dp))
                   puts (ep->d_name);

         (void) closedir (dp);
         }
         else
              fprintf(stderr,"Couldn't open the directory");

    --------------

    şu sekilde bi çıktı alıyorum

    .
    ..
    deneme.txt
    dinamikdizi.o
    filefuncs.o
    main2.o
    mystring.o
    Proje1.layout
    Proje2.layout
    tekrar.o

    Devam etmek için bir tuşa basın . . .


    ------------------


    Burada da "." ve ".." çıkmasının sebebi nedir ? Neyi yanlış yapıyorum ?

  2. KısayolKısayol reportŞikayet pmÖzel Mesaj
    NmC
    NmC's avatar
    Kayıt Tarihi: 23/Kasım/2008
    Erkek

    Hocam ilk iki girdi her zaman o şekilde olur. İki nokta bir üst dizine geç anlamında, tek nokta da yanlış bilmiyorsam bulunduğun dizini temsil ediyor. Tarama yaparken ilk iki indexi atla 0 ve 1 de her zaman o ikili olacaklar :)  2 den başla listelemeye..

     


    There are 10 types of people in the world. Those who knows binary and those who dont...
  3. KısayolKısayol reportŞikayet pmÖzel Mesaj
    MaviEkran
    MaviEkran's avatar
    Kayıt Tarihi: 31/Aralık/2009
    Erkek

    NMC'nin de dediği gibi;

    . bulunduğun dizini, .. bir üst dizini simgeler.


    Blue Screen of Death
  4. KısayolKısayol reportŞikayet pmÖzel Mesaj
    niRvana_GG
    niRvana_GG's avatar
    Kayıt Tarihi: 01/Kasım/2012
    Erkek

    Teşekkürler ikinizide, ucundan WinApi lere gireyim dedim de yavaş yavaş öğrenecegiz neyin ne olduğunu :)

  5. KısayolKısayol reportŞikayet pmÖzel Mesaj
    NmC
    NmC's avatar
    Kayıt Tarihi: 23/Kasım/2008
    Erkek
    niRvana_GG bunu yazdı

    Teşekkürler ikinizide, ucundan WinApi lere gireyim dedim de yavaş yavaş öğrenecegiz neyin ne olduğunu :)

    Bu forumda winapi'ye girip de daha hayırlı bir iş yapan görmedim :D Trojan mı yazıcan? :))


    There are 10 types of people in the world. Those who knows binary and those who dont...
  6. KısayolKısayol reportŞikayet pmÖzel Mesaj
    niRvana_GG
    niRvana_GG's avatar
    Kayıt Tarihi: 01/Kasım/2012
    Erkek
    NmC bunu yazdı
    niRvana_GG bunu yazdı

    Teşekkürler ikinizide, ucundan WinApi lere gireyim dedim de yavaş yavaş öğrenecegiz neyin ne olduğunu :)

    Bu forumda winapi'ye girip de daha hayırlı bir iş yapan görmedim :D Trojan mı yazıcan? :))

    Öyle bi niyetim yok hocam, adam akıllı iş yapacak kısacası para kazanabilecek seviyeye gelmek şuan gündemimde olan :D

Toplam Hit: 1881 Toplam Mesaj: 6