Gå til innhold

Hvordan legge til en streng bak annen streng


Anbefalte innlegg

Videoannonse
Annonse
Hei.

Hvis man har

 

String a = "hei";

String b = "på deg";

Hvordan gjør jeg slik at strengen a blir lik "hei på deg"

Er vant til java hvor det er letter å sette sammen strenger.

 

Takk på forhånd.

 

Usikker på dette, men vet at i php som ligner på C bruker man "."

 

Jeg vil tippe:

String c = a.b;

 

(dfette er bare skrevet for å gi deg et raskt svar, noe å prøve, sikker noen som raskt kan bekrefte eller avkreftet tipset mitt)

 

EDIT: Se ut som om man bruker +

http://www.cppreference.com/cppstring/string_operators.html

 

EDIT2: Eller strcat(str1, str2);

http://cs.smu.ca/~porter/csc/ref/c_cpp_strings.html

 

Kanskje noen bedre kvalifisert enn meg kan prøve seg

Endret av Ekko
Lenke til kommentar

Hvis du har to strenger deklarert som:

std::string a = "foo";
std::string b = "bar";

 

Så kan du bruke:

std::string c = a + b;

 

Men, vær forsiktig med strcat!

strcat er C (ikke C++), og bruker C-strenger, som er 0-terminerte.

 

Det en kan gjøre er (dersom a og b er char*):

char* c = malloc(strlen(a) + strlen(b) + 1);
c[0] = 0;
strcat(c, a);
strcat(c, b);

 

Men da må en huske på å frigjøre c etterpå med "free©;"

Denne koden blir også mer fragil, siden a eller b kan være nullpekere, eller mangle 0-terminering.

Hold deg til std::string! :)

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...