Avatar billede sesso Nybegynder
03. november 2007 - 16:26 Der er 6 kommentarer og
1 løsning

expressions og tekst

Hej,
jeg aner ikke hvordan jeg kan forklarer mit problem, men jeg kan give et eksempel og fortælle hvad det er jeg vil ud fra det.

I f.eks. PHP bruger man '.'-operatoren når man vil blande expressions, strings, whatever med ren tekst: $tekst = "hej, min alder er ".age;
I Javascript kan det samme, gøre sådan her: var tekst = "hej, min alder er "+age;

Hvordan gøres det i C++?
Avatar billede arne_v Ekspert
03. november 2007 - 16:37 #1
stringstream eller sprintf
Avatar billede arne_v Ekspert
03. november 2007 - 16:38 #2
Lille eksempel:

#include <iostream>
#include <sstream>
#include <cstdio>
#include <string>

using namespace std;

int main()
{
    string fnm1 = "abc";
    fnm1 += ".dat";
    cout << fnm1.c_str() << endl;
    char fnm2[] = "abc";
    char tmp1[200];
    sprintf(tmp1,"%s.dat",fnm2);
    cout << tmp1 << endl;
    stringstream tmp2;
    tmp2 << fnm2 << ".dat";
    cout << tmp2.str().c_str() << endl;   
    return 0;
}
Avatar billede sesso Nybegynder
03. november 2007 - 17:22 #3
hvorfor bruge str() og c_str() på variabler af typen stringstream?
Avatar billede arne_v Ekspert
03. november 2007 - 17:55 #4
str() henter en string ud af stringstream

c_str() henter en char* ud af string

hvis du ikke har brug for det kan du undlade
Avatar billede sesso Nybegynder
03. november 2007 - 18:49 #5
Smider du et svar, arne?
Avatar billede arne_v Ekspert
03. november 2007 - 19:21 #6
gerne
Avatar billede arne_v Ekspert
03. november 2007 - 19:22 #7
Jeg skal lige understrege at mit eksempel også viser string+char* men at + ikke
generelt kan bruges.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester