char/string Umwandlungen



  • Hi...

    Ja, ich habe die Suche benutzt, bin allerdings aus den Beiträgen nicht ganz schlau geworden ;). Ich habe zwei Funktionen: Eine, um char in string umzuwandeln, die andere für str/char.

    Hier die erste, welche einwandfrei funktioniert:

    string char2str(char mychar[])
    {
      string str;  
      for(int i = 0; i < sizeof(mychar); i++)
        str += mychar[i];    
    
      return str;
    }
    

    Nun die zweite, bei der mir mein Compiler (Dev-Cpp) sagt, dass er string nicht in char konvertieren kann:

    bool str2char(string mystring, char * target[])
    {
      for(int i = 0; i <= mystring.length(); i++)
        *target[i] = mystring.substr(1, i);
    }
    

    Ich will erreichen, dass jede Stelle des Strings einzeln dem Wert eines char-Zeigers gleichgesetzt wird.

    Vielen Dank 🙂



  • std::string char2str (char mych[]) {
      return std::string(mych);
    }
    
    const char *str2char (const std::string &s) {
      return s.c_str();
    }
    
    #include <algorithm>
    void str2char (const string &s, char x[]) {
       std::copy(s.begin(),s.end(),x);
       x[s.length()] = '\0'; //nicht vergessen ;)
    }
    


  • Was hällst du davon?

    const char* a = "Hallo.";
    	string b(a);
    	const char* c = b.c_str();
    

    edit: verdammt, zu langsam...



  • Danke für Eure Hilfe, habs nun hingekriegt 👍


Anmelden zum Antworten