1. Weiterleitung zu NetzLiving.de
  2. Forum
    1. Unerledigte Themen
  3. zum neuen Forum
  • Anmelden
  • Suche
Dieses Thema
  • Alles
  • Dieses Thema
  • Dieses Forum
  • Seiten
  • Forum
  • Erweiterte Suche
  1. Informatik Forum
  2. Webmaster & Internet
  3. Entwicklung

parser für int

  • Zentor
  • 19. Oktober 2002 um 22:08
  • Unerledigt
Hallo zusammen,

das Informatik-Forum geht in den Archivmodus, genaue Informationen kann man der entsprechenden Ankündigung entnehmen. Als Dankeschön für die Treue bekommt man von uns einen Gutscheincode (informatikforum30) womit man bei netzliving.de 30% auf das erste Jahr sparen kann. (Genaue Infos sind ebenfalls in der Ankündigung)

Vielen Dank für die Treue und das Verständnis!
  • Zentor
    Punkte
    2.710
    Beiträge
    506
    • 19. Oktober 2002 um 22:08
    • #1

    Gibts bei c einen parser für *char -} int oder muss ich den selber coden? Soll auch am Sysprog rechner laufen.

    mfg Zentor

  • MaxAuthority
    Punkte
    3.165
    Beiträge
    626
    • 19. Oktober 2002 um 22:20
    • #2

    ich glaub du meinst atoi();

    und einen einzelnen char kannst du ja einfach umrechnen.

  • jjan
    Punkte
    293
    Beiträge
    57
    • 19. Oktober 2002 um 23:28
    • #3
    Zitat

    Original geschrieben von MaxAuthority
    ich glaub du meinst atoi();

    und einen einzelnen char kannst du ja einfach umrechnen.

    *PLONK*

    Und schon der erste Fehler. atoi() ist böse, ein programm, in dem atoi() vorkommt, wird in sysprog nicht angenommen.

    http://www.vmars.tuwien.ac.at/courses/sysprog/Richtlinien.html

    Statt dessen ist strtol() zu verwenden (siehe man 3 atoi für eine begründung).

  • Zentor
    Punkte
    2.710
    Beiträge
    506
    • 20. Oktober 2002 um 00:25
    • #4

    Hm, ok, danke, ich glaub strtol is die gesuchte Funktion. txs
    Seltsam, ich hab gedacht es geäbe eine verlässlichere Funktion, die eien beliebig langen *char in einen int umwandelt ohne zusätzliche Argumente. Wie kann man unterscheiden ob eine Konversion von "0" -} 0 erfolgt ist oder ein Fehler aufgetreten ist. Beides liefert doch 0 oder?
    mfg Zentor

  • MaxAuthority
    Punkte
    3.165
    Beiträge
    626
    • 20. Oktober 2002 um 01:44
    • #5
    Zitat

    Original geschrieben von jjan

    *PLONK*

    Und schon der erste Fehler. atoi() ist böse, ein programm, in dem atoi() vorkommt, wird in sysprog nicht angenommen.

    http://www.vmars.tuwien.ac.at/courses/sysprog/Richtlinien.html

    Statt dessen ist strtol() zu verwenden (siehe man 3 atoi für eine begründung).

    tausend dank. das hätte ich ganz übersehen und ich hätte was falsches abgegeben. Tausend dank!

  • Iwoas
    Punkte
    5
    Beiträge
    1
    • 23. Oktober 2002 um 11:20
    • #6

    Wegen "0" != Fehler:

    char* endp;
    char* str = "0";
    int value = strtol (str, &endp, 10);

    endp zeigt jetzt auf str + 1, ein zeichen umgewandelt. value=0.

    char* endp;
    char* str = "x";
    int value = strtol (str, &endp, 10);

    endp zeigt auf str + 0, value = 0.

  • Maximilian Rupp 27. Dezember 2024 um 12:08

    Hat das Thema aus dem Forum Programmieren nach Entwicklung verschoben.

  1. Datenschutzerklärung
  2. Impressum