_T( x ) + variable
-
Hi,
Ich habe gesehen, dass man Variablen, z.B im Fensternamen, so unterbringt:SetWindowText( hwnd, _T("C - ") + Spalte + _T(" :: R - ") + Reihe );(Reihe und Spalte sind jeweils 2 char Werte; sollte aber keine Rolle spielen)
Wenn ich diese Zeile compile, dann bekomme ich den Fehler
"2 Zeiger können nicht addiert werden" (Visual Studio 2008)
Allerdings habe ich schon in Samplecodes gesehen, dass man das so macht. Was mache ich falsch?
-
das ist hier nicht visual basic oder was weiss ich. das machste falsch.
-
Das ist mir klar

Ich habe es aber in Zusammenhang der Winapi in C gesehen.
-
tja dann lern bitte c. das hat mit winapi nichts zu tun.

-
vielleicht hast du ein Beispiel gesehen wo std::string/wstring aus C++ beteiligt war.
-
#include <cstdio> #define MAX_BUFFER 256 //Maximale Länge char sSpalte[]= "irgendwas"; //irgendwelche werte char sReihe[]= "nochma irgendwas"; char buffer[MAX_BUFFER]; //Puffer anlegen sprintf_s(buffer,MAX_BUFFER,"C - %s :: R - %s",sSpalte,sReihe); //zusammenkopieren SetWindowText(hWnd,buffer); //setzen //geht übrigens auch mit direkter Int-umwandlung int iSpalte=4; //irgendwelche werte int iReihe=36; sprintf_s(buffer,MAX_BUFFER,"C - %i :: R - %i",iSpalte,iReihe); //wieder zusammenkopieren mit int-umwandlung SetWindowText(hWnd,buffer); //und setzenman könnte das jetzt auch mit zeigerkram und mehreren memcpy machen, aber sprintf is halt das einfachste

Ele
-
Also ich war mir relativ sicher, dass ich es hier in diesem Forum gesehen habe; in dieser Sektion.
Ich finde das Thema leider nicht mehr...Benutzt ihr (besonders Martin Richter) alle die sprintf_s Methode?
-
Nur in C würde ich diese Funktion benutzen.
C++ hat bessere Alternativen.Simon
-
Martin benutzt primär MFC
=> CString 