|
| [c++]strings Fra : Allan Eriksen |
Dato : 29-04-03 00:30 |
|
Hej
Jeg har en funktion i c++ som tager en string ind som parameter:
void fktA(string)
Inde i en anden funktion skal jeg kalde fktA med en string som jeg skal
sammensætte af noget tekst og nogle Integers som gives med denne funktion
som parametre:
void fktB(int A, int B){
fktA("integerne var,(her skal int A indsættes),(og her int B)");
}
Dette burde være ret simpelt, men jeg kan bare ikke få det til at virke,
da jeg ikke ved hvordan man indsætter variable ind i en string. Ved char*
kan man jo bruge:
fktA("integerne var,%d,%d",A,B)
men det virker selvfølgelig ikke, men desværre er det ikke lykkedes mig
at finde ud af hvordan man gør lignende med strings.
Håber nogen kan hjælpe...på forhånd tak
mvh
Allan
| |
Robert Larsen (28-04-2003)
| Kommentar Fra : Robert Larsen |
Dato : 28-04-03 23:50 |
|
Allan Eriksen wrote:
>
> void fktB(int A, int B){
> fktA("integerne var,(her skal int A indsættes),(og her int B)");
> }
>
> Dette burde være ret simpelt, men jeg kan bare ikke få det til at virke,
> da jeg ikke ved hvordan man indsætter variable ind i en string. Ved char*
> kan man jo bruge:
>
> fktA("integerne var,%d,%d",A,B)
Brug en stringstream:
-------------------------------------------------------
#include <sstream>
#include <iostream>
using namespace std;
void fktB(int a, int b)
{
ostringstream ostr;
ostr << "Integerne var " << a << " og " << b;
string str = ostr.str();
cout << str << endl;
}
int main(int argc, char ** argv)
{
fktB(10, 100);
return 0;
}
-------------------------------------------------------
Hvilket giver:
[robert@codemachine robert]$ ./test
Integerne var 10 og 100
Robert
| |
|
|