sprintf und wsprintf
-
//--------------------------------------------------------------------------- #include <sstream> #include <string> #include <iostream> #include <stdio> #pragma hdrstop using namespace std; //--------------------------------------------------------------------------- #pragma argsused int main(int argc, char* argv[]) { string Name = "Maria"; int Geburtstag = 12; /* Die Ausgabe soll sein: Maria hat am 12. Geburtstag. */ char Stream[255]; sprintf(Stream, "%s hat am %d. Geburtstag.", Name, Geburtstag); cout << Stream << endl; int Bremse; cin >> Bremse; return 0; } //---------------------------------------------------------------------------
Ausgabe ist bei mir: Maria hat am 7889447892(~) Geburtstag.
Wieso?2. frage... ich kann in meiner c++ fibel nix über wsprintf finden!? wieso?
-
sprintf(Stream, "%s hat am %d. Geburtstag.", Name.c_str(), Geburtstag);
Ausserdem vermischst du C und C++.
Mitcout << Name << " hat am " << Geburtstag << ". Geburtstag" << endl;
wär das nicht passiert.
Zu 2.)
wsprintf() gehört wohl nicht zum Standard.
-
An welcher Stelle vermischt sich etwas?
Wie ich kann ich das verhindern?
-
bertold schrieb:
An welcher Stelle vermischt sich etwas?
Wie ich kann ich das verhindern?
Er will damit sagen, dass es in C++ aus bestimmten Gründen nicht mehr üblich ist printf und Konsorten zu verwenden, da man sich allgemein Buffer vom Leibe hält. (Außerdem Typsicherheit, etc.)
-
danke euch beiden.
mit
char Name[6] = "Maria";
ist die typumwandlung wohl nicht mehr nötig.
-
Jep
Wenn du jedoch C++, und nicht C, lernen willst gewöhn dich gleich an std::string
-
gibt es eine übersicht - also gegenüberstellung - von c und c++ ?
sehe da nämlich keinen unterschied :p
-
std::string und std::cout gibts in C nicht
-
naja, aber es wird doch sicher mehr untzerschieden geben als
"gibt's" und "gibt's nicht" ...
-
bertold schrieb:
gibt es eine übersicht - also gegenüberstellung - von c und c++ ?
sehe da nämlich keinen unterschied
Mittlerweile dürfte die Liste der Gemeinsamkeiten deutlich kürzer sein als die Liste der Unterschiede