Forum: Compiler & IDEs tausender hunderter zehner aufteilen?


von Matthias (Gast)


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

von Stefan B. (stefan) Benutzerseite


Lesenswert?


von div&mod (Gast)


Lesenswert?

Oder sind die zu kompliziert?

von Daniel P. (ppowers)


Lesenswert?

1
int i, n, digits[MAX_DIGITS];
2
3
n = 1098;
4
5
i = 0;
6
do {       
7
    digits[i++] = n % 10; 
8
} while ((n /= 10) > 0);

von Matthias (Gast)


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

von Robert S. (razer) Benutzerseite


Lesenswert?

1
#include <string.h>
2
3
int split(char* zeile, char* trenner, char teil[][80], int maxStrings)
4
{
5
  int index = 0;
6
  char* token = strtok(zeile, trenner);
7
  
8
  while(token != NULL && index < maxStrings)
9
  {
10
    strcpy(teil[index++], token);
11
    token = strtok(NULL, trenner);
12
  }
13
14
  return index;
15
}
16
17
char str[40} = "$WI;1;230;009;1012;1;12*12";
18
char teil[7][6];
19
20
if(split(str, ";", teil, 7) == 7)
21
{
22
   rx_data.windrichtung= atoi(teil[2]);
23
   rx_data.windgeschwindigkeit=atoi(teil[3]);
24
   rx_data.luftdruck=atoi(teil[4]);
25
   rx_data.tempvorzeichen=atoi(teil[5]);
26
   rx_data.temperatur=atoi(teil[6]);  //Damit 12 drinnen steht, muss der letze String aber 12 lauten. Warum lautet der überhaupt 12*12?
27
}

Gruß Robert

von Matthias (Gast)


Lesenswert?

Hallo

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

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Er? Wer ist "er"?

Hast DU schon mal selbst Deine Headerdateien nach strtok durchsucht?

von die ??? (Gast)


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__avr__string.html

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

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.