Zuviel Werbung? - > Hier kostenlos beim SPS-Forum registrieren

Ergebnis 1 bis 5 von 5

Thema: WinCC, C-Script, Konvertierung String zu Integer?

  1. #1
    Registriert seit
    15.09.2008
    Beiträge
    30
    Danke
    5
    Erhielt 1 Danke für 1 Beitrag

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo Leute,

    kann mir jemand einen Tipp geben wie ich in C eine Stringvariable in eine Integervariable umwandeln kann.

    Beispiel:

    String = "123"
    Int = 123
    Zitieren Zitieren WinCC, C-Script, Konvertierung String zu Integer?  

  2. #2
    Registriert seit
    07.06.2011
    Beiträge
    117
    Danke
    4
    Erhielt 18 Danke für 18 Beiträge

    Standard

    Hallo,

    die Funktion heißt atoi. Du musst allerdings mal ein wenig googeln, da die Funktion nur Konstanten akzeptiert.
    Mario

  3. #3
    Registriert seit
    29.03.2004
    Beiträge
    5.735
    Danke
    143
    Erhielt 1.685 Danke für 1.225 Beiträge

    Standard

    Zitat Zitat von MRose Beitrag anzeigen
    die Funktion heißt atoi. Du musst allerdings mal ein wenig googeln, da die Funktion nur Konstanten akzeptiert.
    Wie kommst du auf Konstanten?
    Ein "const char * str" hat in C als Funktionsparameter eine andere Bedeutung. Man kann daran erkennen dass die Funktion atoi() die Daten die man ihr übergibt nicht ändert. Man braucht also vorher keine Sicherheitskopie zu erstellen.

  4. #4
    Registriert seit
    07.06.2011
    Beiträge
    117
    Danke
    4
    Erhielt 18 Danke für 18 Beiträge

    Standard

    Vergib mir, meine C-Kenntnisse sind begrenzt.

    Trotzdem bin ich mir nicht sicher, ob die Funktion im WinCC direkt mit einer Variablen versorgt werden kann. Lass mich aber gern vom Gegenteil überzeugen.
    Mario

  5. #5
    Registriert seit
    29.03.2004
    Beiträge
    5.735
    Danke
    143
    Erhielt 1.685 Danke für 1.225 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Wenn man die Konvertierung einer internen 8-Bit Textvariable durchführen will, muss man sich im Skript erst mit
    char *s;
    s= GetTagChar(....)
    den Zeiger darauf holen. Den kann man dann durchaus durch atoi() durchschicken.

    Das Problem an atoi() ist aber dass es keine ordentliche Fehlerbehandlung hat. Nämlich wenn man dort "abcd" reinschickt kommt als Ergebnis 0 zurück. Wenn man "0" eingibt natürlich auch. Eine gültige Eingabe kann somit von einer ungültigen nicht unterschieden werden.

    Die Funktion strtol() wäre da besser geeignet.

Ähnliche Themen

  1. BYTE in STRING Konvertierung
    Von SCLNewbie im Forum Simatic
    Antworten: 15
    Letzter Beitrag: 12.10.2012, 01:55
  2. Antworten: 25
    Letzter Beitrag: 15.06.2011, 12:14
  3. String in Integer
    Von Thorilla im Forum Simatic
    Antworten: 2
    Letzter Beitrag: 24.01.2011, 13:02
  4. FC16 Integer in String wandeln
    Von peraho im Forum Simatic
    Antworten: 27
    Letzter Beitrag: 09.04.2009, 08:05
  5. Konvertierung Real in String
    Von linax im Forum Simatic
    Antworten: 0
    Letzter Beitrag: 08.12.2003, 17:40

Stichworte

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •