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í
×
    včera 19:00 | IT novinky

    Exploze osobních komunikačních zařízení v Libanonu zabily osm lidí, přibližně 2750 lidí je zraněno. Zhruba 200 jich je v kritickém stavu.

    Ladislav Hagara | Komentářů: 18
    včera 16:55 | Nová verze

    Byla vydána Java 23 / JDK 23. Nových vlastností (JEP - JDK Enhancement Proposal) je 12. Nová Java / JDK vychází každých 6 měsíců. LTS verze jsou 8, 11, 17 a 21 a bude 25.

    Ladislav Hagara | Komentářů: 1
    včera 16:22 | Nová verze

    Byla vydána betaverze Fedora Linuxu 41, tj. poslední zastávka před vydáním finální verze, která je naplánována na úterý 22. října. Z novinek (ChangeSet) lze vypíchnout Valkey místo nesvobodného Redisu, konec Pythonu 2, instalace proprietárních ovladačů Nvidia s podporou Secure Boot, DNF 5, RPM 4.20, KDE Plasma Mobile Spin, LXQt 2.0, …

    Ladislav Hagara | Komentářů: 1
    včera 13:11 | IT novinky

    Digitální a informační agentura (DIA) přebírá od 1. listopadu správu Registru obyvatel a Registru osob. Převodem pokračuje postupné soustřeďování sdílených informačních systémů státu pod DIA (𝕏).

    Ladislav Hagara | Komentářů: 3
    včera 13:00 | IT novinky

    Společnost Apple vydala nové verze operačních systémů pro svá zařízení: macOS 15 Sequoia, iPadOS 18, tvOS 18, visionOS 2, watchOS 11 a iOS 18.

    Ladislav Hagara | Komentářů: 7
    včera 01:22 | Komunita

    Konsorcium Linux Foundation představilo svůj nejnovější projekt s názvem OpenSearch Software Foundation zastřešující další vývoj OpenSearch a OpenSearch Dashboards. OpenSearch je forkem vyhledávače Elasticsearch a OpenSearch Dashboards je forkem souvisejícího nástroje pro vizualizaci dat Kibana. V roce 2021 přešly projekty Elasticsearch a Kibana z licence Apache 2.0 na duální licencování pod Server Side Public License (SSPL) a

    … více »
    Ladislav Hagara | Komentářů: 0
    16.9. 18:33 | Nová verze Ladislav Hagara | Komentářů: 0
    16.9. 12:55 | Zajímavý projekt

    TamaGo je open source framework pro programování ARM a RISC-V systémů na čipu (SoC) v programovacím jazyce Go. Prezentace projektu z OSFC (Open Source Firmware Conference) v pdf na GitHubu.

    Ladislav Hagara | Komentářů: 0
    15.9. 21:44 | Komunita

    Konference OpenAlt 2024 – jedinečné fórum, kde se každoročně sdružují lidé se zájmem o vývoj a využití svobodného a otevřeného softwaru a hardwaru, tvorbu, zpracování a zpřístupňování otevřených dat, svobodný přístup k informacím a vzdělávání – hledá přednášející, dobrovolníky a partnery. Konference proběhne 2. a 3. listopadu v prostorách FIT VUT v Brně. Vstup je zdarma.

    Ladislav Hagara | Komentářů: 0
    15.9. 19:44 | Nová verze

    Po 9 týdnech vývoje od vydání Linuxu 6.10 oznámil Linus Torvalds vydání Linuxu 6.11. Z Vídně, jelikož tam zítra začíná Open Source Summit Europe. Přehled novinek a vylepšení na LWN.net: první a druhá polovina začleňovacího okna. Později také na Linux Kernel Newbies.

    Ladislav Hagara | Komentářů: 0
    Rozcestník

    Dotaz: Ukazatel na text.

    31.5.2007 22:56 Pepa
    Ukazatel na text.
    Přečteno: 112×
    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.