CString Operationen?
-
ja, dein ' ' (leerzeichen) wird ja auch ver-and-et.
versuch malchar up (char c) { //helferlein return toupper(c); } int main () { //mit char arrays char n[] = "abc def.mp3"; use_facet<ctype<char> >(locale()).toupper(n, n+sizeof(n)); cout << n << endl; //mit std::strings string m = "abc def.mp3"; transform (m.begin(), m.end(), m.begin(), up); cout << m << endl; }
CString bietet vielleicht ähnliches. da musst du aber die leute im MFC-forum fragen.
-
Ich würde etwas in der Art vorschlagen, ist aber ungetestet und nur schnell hingehackt...
void convert(char* str) { while(*str) { if(*str++ == ' ') *str = static_cast<char>(toupper(*str)); } }
Falls toupper(0) nicht 0 zurückgibt muss man noch nen check vorher einbauen
-
MaSTaH schrieb:
Ich würde etwas in der Art vorschlagen, ist aber ungetestet und nur schnell hingehackt...
void convert(char* str) { while(*str) { if(*str++ == ' ') *str = static_cast<char>(toupper(*str)); } }
Falls toupper(0) nicht 0 zurückgibt muss man noch nen check vorher einbauen
Diese Funktion funktioniert allerdings nicht für das 1. Zeichen.
So sollte es gehen:void convert(char* str) { if(*str) *str = static_cast<char>(toupper(*str)); while(*str) if(*str++ == ' ') *str = static_cast<char>(toupper(*str)); }
-
Hi!
Es sollte doch wohl "!= ' '" statt "== ' '" heißen oder?
void convert(char* str) { while(*str) { if(*str == ' ') // EDIT: aus != -> == *str = static_cast<char>(toupper(*str)); ++str; } }
Code-Hacker
-
Code-Hacker: Wieso? Deine Version würde alle Zeichen ausser dem Leerzeichen in den Uppercase wandeln. Das war aber nicht gefragt (und geht btw. einfacher).
-
---
-
Hi!
MaSTaH schrieb:
Code-Hacker: Wieso? Deine Version würde alle Zeichen ausser dem Leerzeichen in den Uppercase wandeln. Das war aber nicht gefragt (und geht btw. einfacher).
Ah, sry, sehe schon.
Ansonsten ist das die selbe Version wie deine, nur das das erste Zeichen mitgemacht wird.Code-Hacker
-
Nö, schau mal genau hin... Deine Version ändert den String nicht :p
.
-
MaSTaH schrieb:
Nö, schau mal genau hin... Deine Version ändert den String nicht :p
.
Meinst du MEINE Version?
-
CodeHackers Version war gemeint.