abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    dnes 13:44 | Nová verze

    Byla vydána beta verze Linux Mintu 22.2 s kódovým jménem Zara. Podrobnosti v přehledu novinek a poznámkách k vydání. Vypíchnout lze novou XApp aplikaci Fingwit pro autentizaci pomocí otisků prstů nebo vlastní fork knihovny libAdwaita s názvem libAdapta podporující grafická témata. Linux Mint 22.2 bude podporován do roku 2029.

    Ladislav Hagara | Komentářů: 0
    dnes 13:00 | IT novinky

    Provozovatel internetové encyklopedie Wikipedie prohrál v Británii soudní spor týkající se některých částí nového zákona o on-line bezpečnosti. Soud ale varoval britského regulátora Ofcom i odpovědné ministerstvo před zaváděním přílišných omezení. Legislativa zpřísňuje požadavky na on-line platformy, ale zároveň čelí kritice za možné omezování svobody slova. Společnost Wikimedia Foundation, která je zodpovědná za fungování

    … více »
    Ladislav Hagara | Komentářů: 1
    dnes 12:55 | Nová verze

    Byla vydána verze 2.0.0 nástroje pro synchronizaci dat mezi vícero počítači bez centrálního serveru Syncthing (Wikipedie). Přehled novinek na GitHubu.

    Ladislav Hagara | Komentářů: 2
    dnes 12:33 | IT novinky

    Americký prezident Donald Trump se v pondělí osobně setkal s generálním ředitelem firmy na výrobu čipů Intel Lip-Bu Tanem. Šéfa podniku označil za úspěšného, informují agentury. Ještě před týdnem ho přitom ostře kritizoval a požadoval jeho okamžitý odchod. Akcie Intelu v reakci na schůzku po oficiálním uzavření trhu zpevnily asi o tři procenta.

    Ladislav Hagara | Komentářů: 9
    včera 04:55 | Nová verze

    Byl vydán Debian GNU/Hurd 2025. Jedná se o port Debianu s jádrem Hurd místo obvyklého Linuxu.

    Ladislav Hagara | Komentářů: 5
    včera 02:44 | Komunita

    V sobotu 9. srpna uplynulo přesně 20 let od oznámení projektu openSUSE na konferenci LinuxWorld v San Franciscu. Pokuď máte archivní nebo nějakým způsobem zajímavé fotky s openSUSE, můžete se o ně s námi podělit.

    lkocman | Komentářů: 5
    9.8. 21:11 | Nová verze

    Byl vydán Debian 13 s kódovým názvem Trixie. Přehled novinek v poznámkách k vydání.

    Ladislav Hagara | Komentářů: 8
    9.8. 15:55 | Zajímavý software

    WLED je open-source firmware pro ESP8266/ESP32, který umožňuje Wi-Fi ovládání adresovatelných LED pásků se stovkami efektů, synchronizací, audioreaktivním módem a Home-Assistant integrací. Je založen na Arduino frameworku.

    Indiánský lotr | Komentářů: 0
    8.8. 15:33 | Nová verze

    Open source platforma Home Assistant (Demo, GitHub, Wikipedie) pro monitorování a řízení inteligentní domácnosti byla vydána v nové verzi 2025.8.

    Ladislav Hagara | Komentářů: 11
    8.8. 14:22 | IT novinky

    Herní studio Hangar 13 vydalo novou Mafii. Mafia: Domovina je zasazena do krutého sicilského podsvětí na začátku 20. století. Na ProtonDB je zatím bez záznamu.

    Ladislav Hagara | Komentářů: 1
    Kolik tabů máte standardně otevřeno ve web prohlížeči?
     (46%)
     (21%)
     (4%)
     (5%)
     (3%)
     (1%)
     (1%)
     (18%)
    Celkem 338 hlasů
     Komentářů: 23, poslední 4.8. 13:01
    Rozcestník

    Dotaz: Maximalni velikost otviraneho txt souboru skrze FILE* v C

    tomes.io avatar 19.9.2012 16:27 tomes.io | skóre: 12 | blog: tomesh
    Maximalni velikost otviraneho txt souboru skrze FILE* v C
    Přečteno: 576×
    Ahoj,

    zajimalo by me, jak veliky muze byt textovy soubor, ktery otviram pro cteni. Resp. by me zajimalo, zda nize uvedeny program, ktery jen pocita vyskyt retezce v danem textovem souboru muze mit teoreticky i velikost nekolika GB, nebo je to nejak omezene?

    Chci, aby muj program sel radek po radku (max velikost radku je 512) a v kazdem, pokud najde hledany retzec 'do' spocital, kolikrat se na radku vyskytl a na kolikatem radku to vlastne bylo. Nize uvedeny program funguje pro "male" textove soubory o par radcich. Muze ale takovy program cist i velike soubory?
    
    
    void read_file (FILE *fr, char *what){
       
        char input[512];     
        int what_len = strlen(what);                             
        int line = 0;                                         //Counter of lines.
        int num = 0;     
       
        /*Reading a text file line by line.*/
       
        while (fgets(input, 512 , fr) != NULL){
           
           line++;        
           char *where = input;
           
            /*Checking an occurrence of searched string.*/
           
              while ((where = strstr(where, what))) {         
               where += what_len;
               num++;           
             }  //End of WHILE
               
             /* Value num > 0 Indicates an occurrence of searched string so that a message for a user can be printed.*/
           
             if (num > 0) {                                     
                printf("Searched string '%s' is found %d times on line %d\n", what, num, line);
           
                num = 0;   //Initial position for the next checking must be 0.
             }  //End of IF
                    
         }  //End of WHILE
       
        fclose(fr);
       
    }  //End of the function 'read_file'
    
    int main(){  
       
        char *what = "do";
        FILE *fr;
        fr = fopen("text.txt","r");    
        read_file(fr, what);   
        return 0;
    }
    

    Řešení dotazu:


    Odpovědi

    19.9.2012 16:56 Kit
    Rozbalit Rozbalit vše Re: Maximalni velikost otviraneho txt souboru skrze FILE* v C
    A proč si to nezkusíš? To je takový problém si vyrobit 20GB soubor s testovacími daty?

    Velikost limitována není. Záleží jen na typu souborového systému.
    tomes.io avatar 20.9.2012 21:51 tomes.io | skóre: 12 | blog: tomesh
    Rozbalit Rozbalit vše Re: Maximalni velikost otviraneho txt souboru skrze FILE* v C
    Nenapada me jak tak velky textovy soubor vygenerovat :) Mozna sloucit nekolik zdrojvych souboru linux jadra do jednoho :) Kazdopadne pokud velikost neni problem, tak jsem spokojeny. Diky.
    20.9.2012 22:37 Sten
    Rozbalit Rozbalit vše Re: Maximalni velikost otviraneho txt souboru skrze FILE* v C
    while [ "$(ls -l test.txt | awk '{ print $5 }')" -lt "20000000000" ]; do cat nejaky_kratky_dokument.txt >>test.txt done
    20.9.2012 23:05 Šangala | skóre: 56 | blog: Dutá Vrba - Wally
    Rozbalit Rozbalit vše Re: Maximalni velikost otviraneho txt souboru skrze FILE* v C
    10MiB plný '\0':
    dd if=/dev/zero of=10MiB.files bs=1048576 count=10
    10MiB random (o kus pomalejší):
    dd if=/dev/urandom of=10MiB.files bs=1048576 count=10
    Stačí jen upravit 10 na 20480 a je 20GiB files.
    To, že trpíš stihomamem, ještě neznamená, že po tobě nejdou. ⰞⰏⰉⰓⰀⰜⰉ ⰗⰞⰅⰜⰘ ⰈⰅⰏⰉ ⰒⰑⰎⰉⰁⰕⰅ ⰏⰉ ⰒⰓⰄⰅⰎ ·:⁖⁘⁙†
    21.9.2012 06:58 rastos | skóre: 63 | blog: rastos
    Rozbalit Rozbalit vše Re: Maximalni velikost otviraneho txt souboru skrze FILE* v C
    Na súbore plnom núl mu asi jeho fgets() bude platné ako popolník na motorke.

    @ ToMesh: do 32-bitov dĺžky je to bez problémov. Pre väčšie hľadaj large file support glibc.
    21.9.2012 11:43 Šangala | skóre: 56 | blog: Dutá Vrba - Wally
    Rozbalit Rozbalit vše Re: Maximalni velikost otviraneho txt souboru skrze FILE* v C
    Na súbore plnom núl mu asi jeho fgets() bude platné ako popolník na motorke.
    A to prečo?
    Přečte to vždy právě 511 znaků - nic následný kód sice nenajde, ale celý soubor bude normálně přečten.

    Pro autora dotazu: u gcc by mělo stačit, přidat při kompilaci parametr (define) -D_FILE_OFFSET_BITS=64
    To, že trpíš stihomamem, ještě neznamená, že po tobě nejdou. ⰞⰏⰉⰓⰀⰜⰉ ⰗⰞⰅⰜⰘ ⰈⰅⰏⰉ ⰒⰑⰎⰉⰁⰕⰅ ⰏⰉ ⰒⰓⰄⰅⰎ ·:⁖⁘⁙†
    21.9.2012 11:46 Šangala | skóre: 56 | blog: Dutá Vrba - Wally
    Rozbalit Rozbalit vše Re: Maximalni velikost otviraneho txt souboru skrze FILE* v C
    Na 32bit to obvykle je limitováno (proto to nezvládnou ani standardní compilace PHP-ek na 32bit).
    K odstranění limitu je třeba kompilovat s -D_FILE_OFFSET_BITS=64.
    To, že trpíš stihomamem, ještě neznamená, že po tobě nejdou. ⰞⰏⰉⰓⰀⰜⰉ ⰗⰞⰅⰜⰘ ⰈⰅⰏⰉ ⰒⰑⰎⰉⰁⰕⰅ ⰏⰉ ⰒⰓⰄⰅⰎ ·:⁖⁘⁙†
    tomes.io avatar 21.9.2012 19:56 tomes.io | skóre: 12 | blog: tomesh
    Rozbalit Rozbalit vše Re: Maximalni velikost otviraneho txt souboru skrze FILE* v C
    Diky, ten kompilacni prikaz je asi to co jsem potreboval, prihodim do Makefilu :)

    Založit nové vláknoNahoru

    Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.