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 04:00 | IT novinky

    Anthony Enzor-DeMeo je novým CEO Mozilla Corporation. Mozillu převzal po dočasné CEO Lauře Chambers. Vybudovat chce nejdůvěryhodnější softwarovou společnost na světě. Firefox by se měl vyvinout v moderní AI prohlížeč.

    Ladislav Hagara | Komentářů: 0
    včera 17:11 | Nová verze

    Byla vydána nová verze 9.20 z Debianu vycházející linuxové distribuce DietPi pro (nejenom) jednodeskové počítače. Přehled novinek v poznámkách k vydání. Vypíchnout lze například nový balíček RustDesk Server pro vzdálený přístup.

    Ladislav Hagara | Komentářů: 0
    včera 14:44 | Nová verze

    Jonathan Thomas oznámil vydání nové verze 3.4.0 video editoru OpenShot (Wikipedie). Představení novinek také na YouTube. Zdrojové kódy OpenShotu jsou k dispozici na GitHubu. Ke stažení je i balíček ve formátu AppImage. Stačí jej stáhnout, nastavit právo na spouštění a spustit.

    Ladislav Hagara | Komentářů: 0
    včera 14:22 | Nová verze

    Byla vydána nová verze 1.6 otevřeného, licenčními poplatky nezatíženého, univerzálního ztrátového formátu komprese zvuku Opus (Wikipedie) a jeho referenční implementace libopus. Podrobnosti na demo stránce.

    Ladislav Hagara | Komentářů: 2
    včera 01:33 | Komunita

    Vojtěch Polášek představil Vojtux, tj. linuxovou distribuci pro zrakově postižené uživatele. Vychází ze spinu Fedory 43 s desktopovým prostředím MATE. Konečným cílem je, aby žádný Vojtux nebyl potřeba a požadovaná vylepšení se dostala do upstreamu.

    Ladislav Hagara | Komentářů: 10
    včera 00:33 | Nová verze

    Byla vydána (Mastodon, 𝕏) druhá RC verze GIMPu 3.2. Přehled novinek v oznámení o vydání. Podrobně v souboru NEWS na GitLabu.

    Ladislav Hagara | Komentářů: 0
    15.12. 15:22 | Zajímavý článek

    Nové číslo časopisu Raspberry Pi zdarma ke čtení: Raspberry Pi Official Magazine 160 (pdf).

    Ladislav Hagara | Komentářů: 0
    15.12. 14:11 | IT novinky

    Izrael od února zakáže dětem používat v prostorách základních škol mobilní telefony. Podle agentury AFP to uvedlo izraelské ministerstvo školství, které zdůraznilo negativní dopady, které na žactvo používání telefonů má. Izrael se tímto krokem přidává k rostoucímu počtu zemí, které dětem ve vzdělávacích zařízeních přístup k telefonům omezují.

    Ladislav Hagara | Komentářů: 33
    15.12. 14:00 | IT novinky

    Internetová společnost Google ze skupiny Alphabet pravděpodobně dostane příští rok pokutu od Evropské komise za nedostatečné dodržování pravidel proti upřednostňování vlastních služeb a produktů ve výsledcích vyhledávání. V březnu EK obvinila Google, že ve výsledcích vyhledávání upřednostňuje na úkor konkurence vlastní služby, například Google Shopping, Google Hotels a Google Flights. Případ staví Google proti specializovaným

    … více »
    Ladislav Hagara | Komentářů: 8
    15.12. 12:22 | Pozvánky

    Byl oznámen program a spuštěna registrace na konferenci Prague PostgreSQL Developer Day 2026. Konference se koná 27. a 28. ledna a bude mít tři tracky s 18 přednáškami a jeden den workshopů.

    TomasVondra | Komentářů: 0
    Jaké řešení používáte k vývoji / práci?
     (34%)
     (48%)
     (20%)
     (17%)
     (23%)
     (15%)
     (24%)
     (15%)
     (18%)
    Celkem 471 hlasů
     Komentářů: 19, poslední 11.12. 20:04
    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: 593×
    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.