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 12:33 | IT novinky

    Na blogu Raspberry Pi byla představena rozšiřující deska Raspberry Pi AI HAT+ 2 s akcelerátorem Hailo-10 a 8 GB RAM. Na rozdíl od předchozí Raspberry Pi AI HAT+ podporuje generativní AI. Cena desky je 130 dolarů.

    Ladislav Hagara | Komentářů: 2
    dnes 12:11 | Komunita

    Wikipedie slaví 25. výročí svého založení. Vznikla 15. ledna 2001 jako doplňkový projekt k dnes již neexistující encyklopedii Nupedia. Doména wikipedia.org byla zaregistrována 12. ledna 2001. Zítra proběhne v Praze Večer svobodné kultury, který pořádá spolek Wikimedia ČR.

    Ladislav Hagara | Komentářů: 0
    dnes 04:44 | Nová verze

    Po více než dvou letech od vydání předchozí verze 2.12 byla vydána nová stabilní verze 2.14 systémového zavaděče GNU GRUB (GRand Unified Bootloader, Wikipedie). Přehled novinek v souboru NEWS a v aktualizované dokumentaci.

    Ladislav Hagara | Komentářů: 0
    dnes 02:22 | Nová verze

    Google Chrome 144 byl prohlášen za stabilní. Nejnovější stabilní verze 144.0.7559.59 přináší řadu novinek z hlediska uživatelů i vývojářů. Podrobný přehled v poznámkách k vydání. Opraveno bylo 10 bezpečnostních chyb. Vylepšeny byly také nástroje pro vývojáře (YouTube).

    Ladislav Hagara | Komentářů: 2
    dnes 01:55 | Humor

    Microsoft zveřejnil zdrojový kód XAML Studia a uvolnil ho pod MIT licencí. XAML Studio je nástroj ze světa Windows, určený pro tvorbu uživatelského rozhraní aplikací pomocí XAML (Extensible Application Markup Language). Stalo se tak zhruba po osmi letech od prvního prohlášení Microsoftu, že se tento kód chystá zveřejnit.

    NUKE GAZA! 🎆 | Komentářů: 0
    dnes 01:44 | Zajímavý projekt

    TimeCapsule, 'časová kapsle', je jazykový model trénovaný výhradně na datech z určitých míst a časových období, aby se tak napodobila autentická slovní zásoba, způsob vyjadřování a názory dané doby. Na Hugging face jsou k dispozici modely natrénované na historických textech dostupných v oblasti Londýna mezi lety 1800 až 1875.

    NUKE GAZA! 🎆 | Komentářů: 4
    včera 17:55 | Nová verze

    Radicle byl vydán ve verzi 1.6.0 s kódovým jménem Amaryllis. Jedná se o distribuovanou alternativu k softwarům pro spolupráci jako např. GitLab.

    Ladislav Hagara | Komentářů: 0
    včera 13:22 | Upozornění

    Zemřel Scott Adams, tvůrce komiksových stripů Dilbert parodujících pracovní prostředí velké firmy.

    Ladislav Hagara | Komentářů: 3
    včera 13:00 | Nová verze

    Sdružení CZ.NIC vydalo novou verzi Knot Resolveru (6.1.0). Jedná se o první vydanou stabilní verzi 6, která je nyní oficiálně preferovanou a doporučovanou verzí, namísto předešlé verze 5. Více o Knot Resolveru 6 je možné se dočíst přímo v dokumentaci.

    VSladek | Komentářů: 3
    včera 01:22 | Nová verze

    Byl vydán Linux Mint 22.3 s kódovým jménem Zena. Podrobnosti v přehledu novinek a poznámkách k vydání. Vypíchnout lze, že nástroj Systémová hlášení (System Reports) získal mnoho nových funkcí a byl přejmenován na Informace o systému (System Information). Linux Mint 22.3 bude podporován do roku 2029.

    Ladislav Hagara | Komentářů: 1
    Které desktopové prostředí na Linuxu používáte?
     (14%)
     (5%)
     (0%)
     (8%)
     (19%)
     (3%)
     (6%)
     (3%)
     (11%)
     (44%)
    Celkem 443 hlasů
     Komentářů: 12, poslední včera 21:12
    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: 594×
    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.