%s
-
Hmm, wieso ergießt ihr Euch derart erschöpfend über Format-Strings? Welche Strings was bedeuten und wie das alles funktioniert kann man bis ins Detail im Netz nachlesen. Weniger als 10s Aufwand bei der Google-Suche.
-
Tachyon schrieb:
Hmm, wieso ergießt ihr Euch derart erschöpfend über Format-Strings? Welche Strings was bedeuten und wie das alles funktioniert kann man bis ins Detail im Netz nachlesen. Weniger als 10s Aufwand bei der Google-Suche.
hier ging es schon lange nicht mehr um format strings. hier ging es schlichtweg einfach darum, _wer_ recht hat
-
ui, sorry.. ich hab da grad das % mit dem & verwechselt
-
Machine schrieb:
ui, sorry.. ich hab da grad das % mit dem & verwechselt
% mit & verwehselt? Wo denn? da find ich keinen Zusammenhang
-
supertux schrieb:
Machine schrieb:
ui, sorry.. ich hab da grad das % mit dem & verwechselt
% mit & verwehselt? Wo denn? da find ich keinen Zusammenhang
wenn du in einem string ein & zeichen haben willst, dann musst du zwei & schreiben.
Bsp:
CString foo = _T("Video && Fotoshow"); SetDlgItemText(IDC_ST_FOO, foo);
Da steht dann auf dem Control Video & Fotoshow.
-
Machine schrieb:
supertux schrieb:
Machine schrieb:
ui, sorry.. ich hab da grad das % mit dem & verwechselt
% mit & verwehselt? Wo denn? da find ich keinen Zusammenhang
wenn du in einem string ein & zeichen haben willst, dann musst du zwei & schreiben.
Bsp:
CString foo = _T("Video && Fotoshow"); SetDlgItemText(IDC_ST_FOO, foo);
Da steht dann auf dem Control Video & Fotoshow.
Ja? Also bei mir steht da konkret "Video && Fotoshow".
Hier der Code:#include <stdio.h> #include <stdlib.h> #include <string.h> #define IDC_ST_FOO 0 #define _T(x) x typedef char* CString; typedef unsigned int hokus_pokus_t; void SetDlgItemText(hokus_pokus_t drolf, CString rolf) { (drolf % 2)?printf("%s\n", rolf):printf("%s\n", rolf); } int main() { CString foo = _T("Video && Fotoshow"); SetDlgItemText(IDC_ST_FOO, foo); return 0; }
-
Machine schrieb:
CString foo = _T("Video && Fotoshow"); SetDlgItemText(IDC_ST_FOO, foo);
Da steht dann auf dem Control Video & Fotoshow.
??? und was hat das mit C zu tun? Siehe Tachyons ironische Antwort.
edit: bei GUI Frameworks ist es üblich, dass das Ampersand doppelt vorkommt, wenn man das Zeichen ausgeben will, weil man mit "&Menu" in Menüs/Knöfpe/Formulare/usw das & dazu benutzen kann, um den Buchstaben 'M' zu untertsreichen, damit es so aussieht:
Menu
Das hat aber mit C nichts zu tun (wie ich oben geschrieben hab) sondern das ist eine Eigenheit von GUI Frameworks (eher von dieses _T Makros).
-
supertux schrieb:
??? und was hat das mit C zu tun?
SetDlgItemText ist durchaus eine C-funktion
machste noch:#define char* CString #define _T
... und dann sollte es compilen.
-
fricky schrieb:
supertux schrieb:
??? und was hat das mit C zu tun?
SetDlgItemText ist durchaus eine C-funktion
machste noch:#define char* CString #define _T
... und dann sollte es compilen.
es hat insofern mit C nichts zu tun, weil wenn du das &-Zeichen in einer Zeichenkette ausgeben willst, muss das &-Zeichen nicht doppelt vorkommen. Dass GUI Frameworks etwas anders machen, damit Textbuchstaben unterstrichen erscheinen, ist eine andere Sache und hat nicht viel mit C zu tun.
-
Wer hat den jetzt recht ? -.-
-
ich natürlich
-
ich habe nie was davon gesagt, dass es mit C zu tun hat. ich habe gesagt, ich habe nicht an % sondern & gedacht. dann hat jemand gefragt wie ich das meine, dann hab ichs erklärt. lest erstmal alle beiträge bevor ihr hier rumtrollt. also echt ey.
-
Dein Beitrag kam aber so rüber, als wäre dieses Verhalten *immer* der Fall.
wenn du in einem string ein & zeichen haben willst, dann musst du zwei & schreiben.
*darauf haben wir "rumgetrollt"
-
Machine schrieb:
ich habe nie was davon gesagt, dass es mit C zu tun hat. ich habe gesagt, ich habe nicht an % sondern & gedacht. dann hat jemand gefragt wie ich das meine, dann hab ichs erklärt. lest erstmal alle beiträge bevor ihr hier rumtrollt. also echt ey.