Využij akce až 30 % zdarma při nákupu e-learningu. Více informací. Zároveň je tento týden sleva až 80 % na e-learning týkající se C# .NET
Hledáme nového kolegu do redakce - 100% home office, 100% flexibilní pracovní doba. Více informací.
Avatar
Marek Uhlik
Člen
Avatar
Marek Uhlik:20.7.2018 17:01

Změnit hodnotu proměnné text
Problém je tady:

*text = "A";

Zkusil jsem:

void changeSomething(const char * text);
int main(void)
{
        const char * text = "Something";
        changeSomething(text);
        return 0;
}


void changeSomething(const char * text)
{
        while(*text != '\0')
        {
                *text = "A";
                *text++;
        }
}

Zkoušel jsem něco vygooglit ,ale nic mi nefungovalo přitom vím že to nebude nic těžkého.

Chci docílit: Změnit hodnotu

 
Odpovědět
20.7.2018 17:01
Avatar
Marek Uhlik
Člen
Avatar
Marek Uhlik:20.7.2018 17:07

A píše to tuhle chybu "error: assignment of read-only location ‘*text’ *text = "A"; "

 
Nahoru Odpovědět
20.7.2018 17:07
Avatar
Jindřich Máca
Redaktor
Avatar
Odpovídá na Marek Uhlik
Jindřich Máca:20.7.2018 19:29

To je tak, když si parametr funkce předáš jako neměnou konstantní hodnotu pomocí const a pak ji chceš přepisovat... :-`

Doporučuji si nejdříve dobře nastudovat, co která klíčová slova dělají, než je tam bez rozmyslu psát. Viz. třeba https://www.itnetwork.cz/…ntní-hodnoty ;-)

Akceptované řešení
+20 Zkušeností
+1 bodů
Řešení problému
 
Nahoru Odpovědět
20.7.2018 19:29
Tento výukový obsah pomáhají rozvíjet následující firmy, které dost možná hledají právě tebe!
Avatar
Patrik Valkovič
Člen IT Redactor Gang
Avatar
Odpovídá na Marek Uhlik
Patrik Valkovič:20.7.2018 20:05

Druhým problémem je, že máš pole charů. Když ukazatel dereferencuješ, tak dostaneš znak.
V C++ je cokoliv ve dvojitých uvozovkách opět pole znaků. Znak (tedy char) se píše do uvozovek jednoduchých (tedy 'A').

Editováno 20.7.2018 20:06
Nahoru Odpovědět
20.7.2018 20:05
Nikdy neumíme dost na to, abychom se nemohli něco nového naučit.
Avatar
Marek Uhlik
Člen
Avatar
Marek Uhlik:20.7.2018 21:34

Jindřich Máca Jojo co které dělají to vím, jen jsem na to teď úplně zapomněl.Furt jsem přemýšlel jak to obejít aniž bych to musel měnit. Ale radši si to přečtu protože když jsem to zapomněl tak to neumím na 100% :D

Patrik Valkovič To jsem tam měl,ale jak jsem zkoušel všechny možné kombinace tak tam tohle zůstalo.

Ale jinak díky oběma.

 
Nahoru Odpovědět
20.7.2018 21:34
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 5 zpráv z 5.