Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

[C++] Formatowanie tablicy znaków

Ostatnio zmodyfikowano 2013-08-08 23:06
Autor Wiadomość
silentus
Temat założony przez niniejszego użytkownika
[C++] Formatowanie tablicy znaków
» 2013-08-08 19:35:19
Witam,
mam pewien problem, edytuję pewien projekt który ma w sobie coś w stylu funkcji do wysyłania wiadomości do pewnej gry która wygląda tak:
C/C++
void wyslijWiadomosc( char * wiadomosc );

Problemem jest to, że mam kilka tablic znaków z wiadomościami które chciałbym wysłać, ale ta funkcje nie akceptuje takiego czegoś:
C/C++
wyslijWiadomosc( "Twoj numer to %d", zmienna_typu_int );
bo nie rozróżnia tego czy my chcemy wysłać znaki "%d" czy wstawić w to miejsce wartość z jakiejś zmiennej, edytowanie jej nie wchodzi w grę (a dopisanie tylko (char* wiadomosc, ...); też nie wchodzi w grę, bo jak napisałem funkcja nie rozróżnia tego czy my chcemy po prostu pokazać tekst %d czy wstawić w to miejsce wartość ze zmiennej)
Więc tak, mam 2 tablice znaków i jeden integer i chciałbym je połączyć w innej tablicy znaków w takim porządku:
C/C++
"%s %d %s", char_1, int, char_2
Jak to mogę zrobić ? Żeby "połączyć" je w całość ?
Z góry dziękuje,
Return 0;
P-89740
Monika90
» 2013-08-08 19:40:07
Użyj funkcji sprintf.
P-89742
silentus
Temat założony przez niniejszego użytkownika
» 2013-08-08 21:16:51
Dzięki :) działa
P-89747
MrPoxipol
» 2013-08-08 23:06:38
Możesz również użyć std::ostringstream
C/C++
#include <sstream>
//..
int liczba = 5;
std::ostringstream o;
o << "Liczba to: " << liczba << " !";
std::string tekst = o.str();
P-89751
« 1 »
  Strona 1 z 1