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 04:55 | Nová verze

    OpenJS Foundation, oficiální projekt konsorcia Linux Foundation, oznámila vydání verze 22 otevřeného multiplatformního prostředí pro vývoj a běh síťových aplikací napsaných v JavaScriptu Node.js (Wikipedie). V říjnu se verze 22 stane novou aktivní LTS verzí. Podpora je plánována do dubna 2027.

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

    Byla vydána verze 8.2 open source virtualizační platformy Proxmox VE (Proxmox Virtual Environment, Wikipedie) založené na Debianu. Přehled novinek v poznámkách k vydání a v informačním videu. Zdůrazněn je průvodce migrací hostů z VMware ESXi do Proxmoxu.

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

    R (Wikipedie), programovací jazyk a prostředí určené pro statistickou analýzu dat a jejich grafické zobrazení, bylo vydáno ve verzi 4.4.0. Její kódové jméno je Puppy Cup.

    Ladislav Hagara | Komentářů: 0
    včera 22:44 | IT novinky

    IBM kupuje společnost HashiCorp (Terraform, Packer, Vault, Boundary, Consul, Nomad, Waypoint, Vagrant, …) za 6,4 miliardy dolarů, tj. 35 dolarů za akcii.

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

    Byl vydán TrueNAS SCALE 24.04 “Dragonfish”. Přehled novinek této open source storage platformy postavené na Debianu v poznámkách k vydání.

    Ladislav Hagara | Komentářů: 0
    včera 13:44 | IT novinky

    Oznámeny byly nové Raspberry Pi Compute Module 4S. Vedle původní 1 GB varianty jsou nově k dispozici také varianty s 2 GB, 4 GB a 8 GB paměti. Compute Modules 4S mají na rozdíl od Compute Module 4 tvar a velikost Compute Module 3+ a předchozích. Lze tak provést snadný upgrade.

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

    Po roce vývoje od vydání verze 1.24.0 byla vydána nová stabilní verze 1.26.0 webového serveru a reverzní proxy nginx (Wikipedie). Nová verze přináší řadu novinek. Podrobný přehled v souboru CHANGES-1.26.

    Ladislav Hagara | Komentářů: 0
    včera 04:33 | Nová verze

    Byla vydána nová verze 6.2 živé linuxové distribuce Tails (The Amnesic Incognito Live System), jež klade důraz na ochranu soukromí uživatelů a anonymitu. Přehled změn v příslušném seznamu. Tor Browser byl povýšen na verzi 13.0.14.

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

    Byla vydána nová verze 30.0.0 frameworku pro vývoj multiplatformních desktopových aplikací pomocí JavaScriptu, HTML a CSS Electron (Wikipedie, GitHub). Chromium bylo aktualizováno na verzi 124.0.6367.49, V8 na verzi 12.4 a Node.js na verzi 20.11.1. Electron byl původně vyvíjen pro editor Atom pod názvem Atom Shell. Dnes je na Electronu postavena celá řada dalších aplikací.

    Ladislav Hagara | Komentářů: 2
    včera 04:11 | Nová verze

    Byla vydána nová verze 9.0.0 otevřeného emulátoru procesorů a virtualizačního nástroje QEMU (Wikipedie). Přispělo 220 vývojářů. Provedeno bylo více než 2 700 commitů. Přehled úprav a nových vlastností v seznamu změn.

    Ladislav Hagara | Komentářů: 0
    KDE Plasma 6
     (72%)
     (9%)
     (2%)
     (17%)
    Celkem 741 hlasů
     Komentářů: 4, poslední 6.4. 15:51
    Rozcestník

    Dotaz: Ukazatel na text.

    31.5.2007 22:56 Pepa
    Ukazatel na text.
    Přečteno: 105×
    Ahoj,
    mam mensi problem.

    char *pT = "abcd";
    a ted potrebuji zmenit text abcd na Zbcd
    zkousel jsem pT[0] = 'Z'; ale nejde to pri prekladu mi to napise chybu.

    DIKY za radu.

    Odpovědi

    Bluebear avatar 31.5.2007 23:30 Bluebear | skóre: 30 | blog: Bluebearův samožerblog | Praha
    Rozbalit Rozbalit vše Re: Ukazatel na text.
    char *pT = "abcd";

    Tímto řádkem jste nadeklaroval proměnnou typu "ukazatel na znak" a uložil do ní ukazatel na řetězcovou konstantu "abcd". Tu není možné změnit.

    Můžete udělat například to, že zduplikujete řetězec "abcd" a do řetězce uložíte ukazatel na nově vzniklou kopii (to už není konstanta, protože vznikla až za běhu dynamickou alokací). Tu pak můžete měnit.

    char *pT = strdup("abcd"); pT[0] = 'Z';

    Samozřejmě pak musíte nově vytvořený řetězec uvolnit pomocí funkce free(), až už ho nebudete potřebovat, jinak máte memory leak.

    Pozn.: Pokud plánujete ve svém programu nějaké větší operace se stringy, myslím, že není dobrý nápad psát to v čistém Cčku; sice to jde, ale je to strašná otrava. V takovém případě by bylo lepší použít C++, které má přímo typ string, který se chová jako primitivní hodnota.
    To mi připomíná, jak jsem si pořídil květináč, že v něm budu mít květinu. Opravdu tam byla, ale potom být přestala...
    1.6.2007 08:35 rastos | skóre: 62 | blog: rastos
    Rozbalit Rozbalit vše Re: Ukazatel na text.
    >nejde to pri prekladu mi to napise chybu.

    Akú?
    $ gcc -Wall c.c
    $ cat c.c
    int main()
    {
     char *pT="abcd";
     pT[0]='Z';
     return 0;
    }
    $ gcc --version
    gcc (GCC) 3.4.6
    ...
    Možno lepšie by bolo:

    char pT[]="abcd";

    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.