Teraz jest 27 lis 2024, 16:27

Strefa czasowa: UTC + 2


Regulamin działu


Kliknij, aby przejrzeć regulamin



Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 17 ]  Przejdź na stronę Poprzednia strona  1, 2
Autor Wiadomość
 Tytuł:
PostNapisane: 20 lis 2007, 17:02 
Offline
Avatar użytkownika

Dołączył(a): 5 cze 2005, 13:14
Posty: 1464
Lokalizacja: Zabrze
Nadal sobie nie moge z tym poradzic. Moze ktos napisacmini programik, ktory pozwala na wczytywanie wiekszej ilosci znakow?

_________________
"Najbardziej odczujesz brak jakiejś osoby,
kiedy będziesz siedział obok niej i będziesz
wiedział, że ona nigdy nie będzie twoja."

:(


Góra
 Zobacz profil  
 
PostNapisane: 27 kwi 2008, 11:27 
Offline
Avatar użytkownika

Dołączył(a): 5 cze 2005, 13:14
Posty: 1464
Lokalizacja: Zabrze
Witam, to znowu ja ;)
Sporo sie nie odzywałem na forum wiec pora cos napisac ;)
Pisze ostatnio program zaliczeniowy na programowanie w języku C i napotkałem pewien problem. Musze napisać algorytm przeszukujący foldery rekurencyjnie tj. podam ścieżkę F:\\ to znajdzie mi wszystkie pliki znajdujące sie na dysku F. Napisałem go dzisiaj w nocy, wyszukuje ładnie pięknie wszystkie pliki (zauwazylem ze jak jest >10000k plikow w folderze ktory przeszukujemy to wywala blad), ale na sam koniec juz gdy konczy sie rekurencja i dochodzi o instrukscji system("pause") wywala bład UNHANDLED EXCEPTION a dokladnie "First-chance exception in findfirst.exe: 0xC0000005: Access Violation."
Wie ktos czym do jest spowodowane?
Kod:
// wywalilem bo był zwalnony ;)


EDIT:
Znalazłem jeden blad...dotyczy on zlego sprawdzania czy plik jest plikiem. Mam tu na mysli ze plik niekoniecznie musi miec gdzies kropke (znalazlem u siebie na dysku pliki bez rozszerzen). ALe z kolei to tylko jeden z bledow. Nadal pozostaje blad przy wypisywaniu plikow. Gdy wypisze wszystkie i wyswietli prosbe o wcisniecie klawisza prgram sie sypie mimo ze wszystko ladnie wypisalo.


EDIT 2

Działa, juz pomoc nie potrzebna ;)
Jakby ktoś chciał
Kod:
#include <stdio.h>
#include <stdlib.h>
#include <io.h>
#include <string.h>
#include <windows.h>
void szukaj(char path[]);


int main(void)
{
  char sciezka[300];
  gets(sciezka);
  szukaj(sciezka);   
  system("pause");
  return 0;
}



void szukaj(char path[])
{
 
  HANDLE x;
  int i,n,m;
  WIN32_FIND_DATA     c_file;
       
  x = FindFirstFile(path, &c_file);
  do 
  {
        if (c_file.cFileName[0]=='.')
           continue;
           
        if (c_file.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY)
        {                               
            strcpy(path+strlen(path)-3, c_file.cFileName);     
            strcat(path,"\\*.*");
            szukaj(path);
            for(n=strlen(path); n>=0; n--)
            {
               if (path[n]=='\\')
                  break;
            }
           
            for(m=n-1;m>=0;m--)
            {
               if (path[m]=='\\')
               {
                  strcpy(path+m,"\\*.*");
                  break;
               }
            }
        }
        else
        {
               puts(c_file.cFileName);
        }             
  }
  while (FindNextFile(x, &c_file));
  FindClose(x);

}

_________________
"Najbardziej odczujesz brak jakiejś osoby,
kiedy będziesz siedział obok niej i będziesz
wiedział, że ona nigdy nie będzie twoja."

:(


Góra
 Zobacz profil  
 
Wyświetl posty nie starsze niż:  Sortuj wg  
Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 17 ]  Przejdź na stronę Poprzednia strona  1, 2

Strefa czasowa: UTC + 2


Kto przegląda forum

Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników i 40 gości


Nie możesz rozpoczynać nowych wątków
Nie możesz odpowiadać w wątkach
Nie możesz edytować swoich postów
Nie możesz usuwać swoich postów

Szukaj:
Skocz do:  
Powered by phpBB® Forum Software © phpBB Group
Przyjazne użytkownikom polskie wsparcie phpBB3 - phpBB3.PL