Char in int konvertieren



  • Hallo!

    Ich habe in meinem Source Code folgende Zeile:

    Servers[Zeilennr].sid = EineZeile;

    EineZeile ist immer eine Zeile aus einer Datei und sid ist ein Integer. Das verträgt sich leider zusammen nicht. Wie kann ich Servers[Zeilennr].sid sagen, dass "EineZeile" ein Integer ist?

    Vielen Dank für Eure Hilfe im voraus!

    P.s. Sorry falsches Forum, bitte verschieben. 🙄

    Gruß
    David



  • Angenommen EineZeile ist tatsächlich eine Zeile, also ein char Array, dann muss das so aussehen:

    Servers[Zeilennr].sid = atoi(EineZeile);



  • ACHTUNG: nicht standardkonform

    #include <cstdlib>
    
    Servers[Zeilennr].sid = atoi(EineZeile); //Falls EineZeile ein char*
    Servers[Zeilennr].sid = atoi(EineZeile.c_str()); //Falls EineZeile ein std::string ist
    


  • ACHTUNG: nicht standardkonform

    was ist daran nicht standardkonform (außer vielleicht den fehlenden std::)?



  • HumeSikkins schrieb:

    ACHTUNG: nicht standardkonform

    was ist daran nicht standardkonform (außer vielleicht den fehlenden std::)?

    Ich meinte portabel.



  • atoi ist hochgradig portabel. Das dürfte seit über 20 Jahren jeder C-Implementierung bekannt sein und was es macht ist auch recht plattformunabhängig und dokumentiert. Wo ist das Problem?


Anmelden zum Antworten