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.


Anmelden zum Antworten