Klassenproblem
-
wie gesagt ich kenne den 2ten parameter nicht
hast du mal sowas versucht ob das wenigstens geht
long allalalong = subnetzmaske.lNrOfHosts; // was zeigt der debugger hier an?
-
Dasselbe wie bei den anderen.
Hier ist die Syntax von sprintf, wenn du den zweiten Parameter nicht kennst.
sprintf(const char *target_string, const char *format, ...);
-
sprintf(ziel, "%d", zahl2);
so sieht die funktion aus! ziel ist ein string und zahl2 ein int!
-
was ist den EditMessage1? ein char array? oder ein string? also ich kenne sprintf() von C! und ich vermute das sprintf() nicht mit strings umgehen kann
-
char EditMessage1[16]; // also char-Array
-
donzero schrieb:
was ist den EditMessage1? ein char array? oder ein string? also ich kenne sprintf() von C! und ich vermute das sprintf() nicht mit strings umgehen kann
sorry check ich jetzt nicht. erst sagt du
sprintf(ziel, "%d", zahl2); // ziel ist ein string und zahl2 ein int!
dann sagst du und ich vermute das sprintf() nicht mit strings umgehen kann
EditMessage1 hört sich nach eine BOX an, oder?
bist du sicher das man die box so drauf anspricht ( falls eine editbox )
mit
sprintf ( BOX_ID, string ); // ???kenne mich nicht mit borland aus.
-
Nö, ist keine EditBox. Ganz normales char-Array.
Ich hab das jetzt einfach anders gelöst. Hab mir einfach in die Klasse drei Funktionen geschrieben die mir das zurückgeben. Aber nochmal danke an euch.
-
ja ich mein char array sry das ich erst string geschrieben habe!
char EditMessage1[16]; long int longlong = 10020; sprintf(EditMessage1,"%d",longlong); cout << EditMessage1 << endl;
das geht bei mir ... ich denke ma das die datentypen bei dir die gleichen sein sollten!
//Edit .. an gut wenn du es schon hast
-
aha bissle gegoogelt und siehe da
sprintf formatiert Daten zu Gesamtstring
sprintf brauchbar zum Formatieren und
anschließenden Ausgeben in GUI-Elementhast du ein gui element?
Also für die Ausgabe in einen neuen String (char-Array) kannst du sprintf verwenden. Dafür musst du aber erst mal Platz für den neuen String bereitstellen, also länge des alten String + 3 Zeichen Checksumme + '\0'
Wenn du das hast. benutzt du sprintf wie folgt:
char message[]="GPGLL,5057.970,N,00146.110,E,142451,A"; // alte Message
char* newMessage; //hier soll die neue Message rein//schreibt die alte nachricht + '' + Checksumme in HEX (Großbuchstaben) in newMessage
sprintf(newMessage, "%s%02X", message, checkSumme);zur Erklärung: sprintf arbeitet wie printf und schreibt die formatierte Ausgabe in einen char-Puffer. %s ist der Platzhalter für deine originale Message dann der '*' und %02X für die Checksumme als Hexwert (immer 2 Stellen und Großbuschstaben)
aha maybe hilft dir das
http://www.cplusplus.com/ref/cstdio/sprintf.html
fazit:
maybe passen das long nicht in ein char c[16] ?
[quote]
-
Ein C++-Programmierer würde stringstream verwenden.