www.mikrocontroller.net

Forum: Compiler & IDEs tausender hunderter zehner aufteilen?


Autor: Matthias (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo

hat jemand ne idee wie man unkomliziert tausender hunderter zehner in 
einer aufteilt.


bsp 1098= 1 0 9 8
bsp 876= 8 7 6
bsp 98=9 8


Danke euch schonmal

Autor: Stefan B. (stefan) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert

Autor: div&mod (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Oder sind die zu kompliziert?

Autor: Daniel P. (ppowers)
Datum:

Bewertung
0 lesenswert
nicht lesenswert

int i, n, digits[MAX_DIGITS];

n = 1098;

i = 0;
do {       
    digits[i++] = n % 10; 
} while ((n /= 10) > 0);


Autor: Matthias (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
habe ich hinbekommen besten dank.


noch eine frage

wie kann ich einen datensatz aufsplitten.

z.b


$WI;1;230;009;1012;1;12*12

in einer struct benötige ich

rx_data.windrichtung=230
rx_data.windgeschwindigkeit=9
rx_data.luftdruck=1012
rx_data.tempvorzeichen=1(+) /0 (-)
rx_data.temperatur=12



danke

Autor: Robert S. (razer) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
#include <string.h>

int split(char* zeile, char* trenner, char teil[][80], int maxStrings)
{
  int index = 0;
  char* token = strtok(zeile, trenner);
  
  while(token != NULL && index < maxStrings)
  {
    strcpy(teil[index++], token);
    token = strtok(NULL, trenner);
  }

  return index;
}

char str[40} = "$WI;1;230;009;1012;1;12*12";
char teil[7][6];

if(split(str, ";", teil, 7) == 7)
{
   rx_data.windrichtung= atoi(teil[2]);
   rx_data.windgeschwindigkeit=atoi(teil[3]);
   rx_data.luftdruck=atoi(teil[4]);
   rx_data.tempvorzeichen=atoi(teil[5]);
   rx_data.temperatur=atoi(teil[6]);  //Damit 12 drinnen steht, muss der letze String aber 12 lauten. Warum lautet der überhaupt 12*12?
}

Gruß Robert

Autor: Matthias (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo

Das sieht ja gut aus nur leider findet er strtok nicht in string.h

Autor: Rufus Τ. Firefly (rufus) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Er? Wer ist "er"?

Hast DU schon mal selbst Deine Headerdateien nach strtok durchsucht?

Autor: die ??? (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Matthias wrote:
> ... nur leider findet er strtok nicht in string.h

So so. Dem Himmel sei dank gibt es eine wunderschöne Referenz im Netz:

  http://www.nongnu.org/avr-libc/user-manual/group__...

Ich gehe mal davon aus, dass es sich um den AVR-GCC handelt.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.