spojení řetězců

Wiring, C++, C, Java, ...
Pravidla fóra
Toto subfórum slouží k řešení obecných otázek kolem programování (konstrukce, knihovny, alokace paměti, ...)
Odpovědět
martinpokorny
Příspěvky: 7
Registrován: 23 říj 2017, 16:02

spojení řetězců

Příspěvek od martinpokorny » 21 pro 2017, 16:37

Zdravím vespolek - měl bych jeden dotaz (možná pro někoho hloupý):

mám proměnou, kterou naplním např. z web rozhraní tímto textem:

Kód: Vybrat vše

text1[30] = "nejaky_text";
a potřebuji jej spojit s jiným textem

Kód: Vybrat vše

vysledny_text=text1 + "dalsi_text";
jenže kompilací programu to neprojde - tuším, že asi špatně "mixuji" typy dat, ale nevím jak přeně to udělat

poradíte prosím?

martinius96
Příspěvky: 585
Registrován: 01 srp 2017, 19:29
Bydliště: Poprad
Kontaktovat uživatele:

Re: spojení řetězců

Příspěvek od martinius96 » 21 pro 2017, 18:34

Myslim zeby mohlo fungovat. Urob String z jedneho i druheho a potom jedna + druhe :)

ohruska
Příspěvky: 235
Registrován: 08 pro 2017, 20:56

Re: spojení řetězců

Příspěvek od ohruska » 21 pro 2017, 20:29

Zkus to takto:

Kód: Vybrat vše

void setup() {
Serial.begin(9600);
String a="pokus";
String b=a+" dalsi retezec";
Serial.println(b);
}

void loop() {
  // put your main code here, to run repeatedly:
}

petan
Příspěvky: 358
Registrován: 23 črc 2017, 10:19
Kontaktovat uživatele:

Re: spojení řetězců

Příspěvek od petan » 21 pro 2017, 20:30

Mělo by to fungovat. Co jsou jednotlivé proměnné za typy?

Jo, už to vidím. text1 je pole. Chybí ti tam závorka a číslo :D
Zkus:

Kód: Vybrat vše

vysledny_text=text1[30] + "dalsi_text";

martinpokorny
Příspěvky: 7
Registrován: 23 říj 2017, 16:02

Re: spojení řetězců

Příspěvek od martinpokorny » 21 pro 2017, 20:40

a když chci výsledný text taky char, tak ho mám definovat tak, že přičtu délku přičítaného řetězce?

Kód: Vybrat vše

char(vysledny_text)[40]=text1[30] + "dalsi_text";

petan
Příspěvky: 358
Registrován: 23 črc 2017, 10:19
Kontaktovat uživatele:

Re: spojení řetězců

Příspěvek od petan » 21 pro 2017, 20:48

Aha, já myslel, že to máš String a ne char. Vždy vytvoříš pole proměnných - číslo udává, kolik proměnných vytvoříš.

Pokud je proměnné typu char, tak číslo v závorce v podstě udává kolikátý znak z řetězce má proměnné vracet.

Kód: Vybrat vše

char text[4] = "ahoj"; 
char pismeno;

pismeno = char[3]; //do proměnné pismeno se uloží jenom znak "j" - číslování je od nuly!
Pokud nadefinuješ proměnnou text[3], tak si tím vlastně vytvoříš tři stringy text[0], text[1] a text[2]

Kód: Vybrat vše

String text[3];
String zprava;

text[0] = "muj text 1";
text[1] = "muj text 2";
text[2] = "muj text 3";

zprava = text[2]; //do proměnné zprava se uloží hodnota "muj text 3"

Odpovědět

Kdo je online

Uživatelé prohlížející si toto fórum: Žádní registrovaní uživatelé a 3 hosti