C-Umwandlung von Char-Arrays (strings) in ein int-array

Ich habe die Suche rund um für Stunden für, aber ich kann nicht scheinen, um eine Antwort zu finden, vor allem, wenn es um die C-Sprache. In java wäre es einfach eine Frage des Castings und so, aber ich einfach nicht scheinen, um einen festen Griff auf Sie in C.

Mein problem ist: ich habe, um eine Eingabe von einem Benutzer, können Sie eine beliebige Anzahl von 0 bis 31. Sie können geben Sie bis zu 31 zahlen. Sie können sich wiederholen.
Die Eingabe könnte wie folgt Aussehen: 3 15 32. Ich weiß, wie nehmen Sie diese Eingabe, und speichern Sie es als string mit Hilfe der Funktion fgets () - Funktion. Ich Speichere die Eingabe in array s[];

Nun, der Teil, den ich am stecken, wie kann ich konvertieren, dass zu einem int-array int[0]=3, i[1]=15, i[2]=32 usw.

Versuchte ich mit sscanf(s, "%d", int), aber nur in der Lage ist, um die erste Zahl von der Eingabe, speichert es in int[0], und dann füllt nicht in Ruhe. Gibt es eine Art Funktion, dass macht das ganze einfach und schnell?

Vielen Dank im Voraus.

  • Wenn es darauf ankommt, ich könnte einfach gehen durch jeden index des string-array und prüfen Sie die Ziffern und Leerzeichen umwandeln und es auf diese Weise, aber ich Frage mich, ob es ist ein einfacher und schneller Weg, wie so eine Funktion könnte ich nur verwenden.
  • in der Regel verwenden Sie eine Funktion wie strtok zum Durchlaufen der Schnur und erhalten Sie jede Zahl in der Folge
InformationsquelleAutor MazzY | 2016-04-21
Schreibe einen Kommentar