Mutual strings mit cast
-
Kann ich ein string ("string") mutual (schreibbar) machen mit einen Cast?
Beispiel
void foo(char *s) {
*s='x';
printf(s);
}func((???)"string");
-
Ok...
Vielleicht war das nicht die meist intelligente Frage, aber...
ist
void foo(char *) { ... } ... foo(char s[]="string");
ANSI kompatibel?
-
Es gibt in C99 sog. "compound literals", die man folgendermaßen bastelt:
char *p= (char[]){"Test"}; p[3] = 'f';
Sowas kann man natürlich auch an Funktionen weiterreichen: 'f((char[]){"Test"})', wobei da fraglich ist, ob dein Compiler das schon kann und ob es dieser Kompatibilitätsbruch wert ist.