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

    Ubuntu 24.10 bude Oracular Oriole (věštecká žluva).

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

    Byla vydána nová verze 2.45.0 distribuovaného systému správy verzí Git. Přispělo 96 vývojářů, z toho 38 nových. Přehled novinek v příspěvku na blogu GitHubu a v poznámkách k vydání. Vypíchnout lze počáteční podporu repozitářů, ve kterých lze používat SHA-1 i SHA-256.

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

    Před 25 lety, ve čtvrtek 29. dubna 1999, byla spuštěna služba "Úschovna".

    Ladislav Hagara | Komentářů: 0
    dnes 01:00 | Nová verze

    Byla vydána nová verze 24.04.28 s kódovým názvem Time After Time svobodného multiplatformního video editoru Shotcut (Wikipedie) a nová verze 7.24.0 souvisejícího frameworku MLT Multimedia Framework. Nejnovější Shotcut je vedle zdrojových kódů k dispozici také ve formátech AppImage, Flatpak a Snap.

    Ladislav Hagara | Komentářů: 0
    včera 16:33 | Nová verze Ladislav Hagara | Komentářů: 0
    včera 03:22 | Zajímavý článek

    V aktuálním příspěvku na blogu počítačové hry Factorio (Wikipedie) se vývojář s přezývkou raiguard rozepsal o podpoře Linuxu. Rozebírá problémy a výzvy jako přechod linuxových distribucí z X11 na Wayland, dekorace oken na straně klienta a GNOME, změna velikosti okna ve správci oken Sway, …

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

    Rakudo (Wikipedie), tj. překladač programovacího jazyka Raku (Wikipedie), byl vydán ve verzi #171 (2024.04). Programovací jazyk Raku byl dříve znám pod názvem Perl 6.

    Ladislav Hagara | Komentářů: 7
    27.4. 17:44 | Nová verze

    Společnost Epic Games vydala verzi 5.4 svého proprietárního multiplatformního herního enginu Unreal Engine (Wikipedie). Podrobný přehled novinek v poznámkách k vydání.

    Ladislav Hagara | Komentářů: 0
    26.4. 17:11 | Nová verze

    Byl vydán Nextcloud Hub 8. Představení novinek tohoto open source cloudového řešení také na YouTube. Vypíchnout lze Nextcloud AI Assistant 2.0.

    Ladislav Hagara | Komentářů: 12
    26.4. 13:33 | Nová verze

    Vyšlo Pharo 12.0, programovací jazyk a vývojové prostředí s řadou pokročilých vlastností. Krom tradiční nadílky oprav přináší nový systém správy ladících bodů, nový způsob definice tříd, prostor pro objekty, které nemusí procházet GC a mnoho dalšího.

    Pavel Křivánek | Komentářů: 9
    KDE Plasma 6
     (75%)
     (8%)
     (2%)
     (15%)
    Celkem 882 hlasů
     Komentářů: 4, poslední 6.4. 15:51
    Rozcestník

    Dotaz: Zápis do souboru (náhodná pozice) C

    22.5.2010 10:52 Okallasch | skóre: 1
    Zápis do souboru (náhodná pozice) C
    Přečteno: 380×
    Dobré dopoledne. Prosim vás může mi někdo poradit jak udělat funkci v C, kterou budu zapisovat do souboru řetězec, ale ne na začátek a konec ale třeba za 68 bit? Díky za rady. Ještě upozornuju, že ta pozice bitů nebude stále 68.

    Řešení dotazu:


    Odpovědi

    Řešení 2× (jka, 12345)
    22.5.2010 11:47 Martin Tůma | skóre: 39 | blog: RTFM | Praha
    Rozbalit Rozbalit vše Re: Zápis do souboru (náhodná pozice) C

    man fseek

    Každý má právo na můj názor!
    22.5.2010 17:47 finn | skóre: 43 | blog: finnlandia | 49° 44´/13° 22´
    Rozbalit Rozbalit vše Re: Zápis do souboru (náhodná pozice) C
    Možností je víc, nejprv si ale udělej jasno v pojmech bit a bajt.
    #include <stdio.h>
    #include <string.h>
    #include <errno.h>
    
    int main(void)
    {
      FILE *out;
      char text[] = "Ahoj!";
      int rv;
    
      if((out = fopen("soubor.dat", "w")) == NULL)
      {
        fprintf(stderr, "Chyba při otvírání souboru: %s\n", strerror(errno));
        rv = 1;
      }
      else
      {
        fseek(out, 68, SEEK_SET);
        if(fwrite(text, strlen(text), 1, out) == 1)
        {
          rv = 0;
        }
        else
        {
          rv = 2;
        }
      }
    
      return rv;
    }
    
    Nebo existuje druhá možnost:
    #include <sys/types.h>
    #include <sys/stat.h>
    #include <fcntl.h>
    #include <unistd.h>
    #include <stdio.h>
    #include <string.h>
    #include <errno.h>
    
    int main(void)
    {
      int out;
      char text[] = "Ahoj!";
      int rv;
    
      if((out = open("soubor.dat", O_WRONLY)) == -1)
      {
        fprintf(stderr, "Chyba při otvírání souboru: %s\n", strerror(errno));
        rv = 1;
      }
      else
      {
        lseek(out, 68, SEEK_SET);
        if(write(out, text, strlen(text)) != strlen(text))
        {
          rv = 0;
        }
        else
        {
          rv = 2;
        }
      }
    
      return rv;
    }
    
    Užívej dne – možná je tvůj poslední.

    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.