Funktionen
-
str[4] = '§';
-
Bashar schrieb:
str[4] = '§';
ich hab vorher ne if-Abfrage. Da ist i sowieso 4. oder meinst du etwas anderes?
-
Wenn du schon so fragst, solltest du bei deiner Methode bleiben.
-
Oh, mann. Stimmt. Ich schrieb ja s statt str.
-
Argh
-
Bashar schrieb:
Argh
-
#include <iostream> #include <cstring> void umwandeln(char *str); int main() { char str[10]; strcpy(str, "Hallo"); umwandeln(str); std::cout << str; return 0; } void umwandeln(char *str) { for (int i=0; str[i]!='\0'; i++) { if (i==4) str[i] = '§'; } // besser: // if (strlen(str) >= 5) // str[4] = '§'; }
Was ist da falsch dran?
VC++.Net beschwert sich nicht, und führt das Programm korrekt aus. (Bis auf das Sonderzeichen)
-
Er meint wohl einfach nur
str[4] = '§';
und nicht mehr. Wobei man zuvor wenigstens Prüfen sollte ob der String 6 Zeichen (wegen der endenden Null) lang ist, sofern er sonst nicht setzen soll, also:
if (strlen(str)>=6) str[4] = '§';
Code-Hacker
-
Hab ich ja gesagt, dass man das besser lösen kann. (Und gerade eben gepostet).
-
Jover schrieb:
Hab ich ja gesagt, dass man das besser lösen kann. (Und gerade eben gepostet).
Jo, war aber am schreiben als du deinen gepostet hast...
Code-Hacker
-
Jover schrieb:
Was ist da falsch dran?
VC++.Net beschwert sich nicht, und führt das Programm korrekt aus. (Bis auf das Sonderzeichen)Ist schon ok, nur warum nehmt ihr eigentlich kein std::string?
-
hab ich oben auch schon gepostet. Aber wenn er sich nicht mal mit char * auskennt, dann sollte er zuerst das verstehen bevor er weitermacht.