Hallo
es sollte auch folgendes funktionieren bei der Stringverarbeitung:
Code:
char puffer[10];
char *zeiger_auf_puffer = puffer;
int main (void)
{
#define LEN_STR_1 3
char teil_str_1 [LEN_STR_1 + 1]; // 3 Byte langer String + \0
#define LEN_STR_2 7
char teil_str_1 [LEN_STR_2 + 1]; // 7 Byte langer String + \0
for (;;)
{
while (!flagvonderISR)
;
zeiger_auf_puffer = puffer;
teil_str_1 = strncpy (zeiger_auf_puffer, LEN_STR_1);
teil_str_1 [LEN_STR_1] = '\0'; // String in C abschliessen
zeiger_auf_puffer += LEN_STR_1; /* JA, die Vorgaengerlaenge */
teil_str_2 = strncpy (zeiger_auf_puffer, LEN_STR_2);
teil_str_2 [LEN_STR_2] = '\0'; // String in C abschliessen
/* Und ab hier kann mit den beiden Teil-Strings gearbeitet werden */
flagvonderISR = 0;
}
Aber Vorsicht mit den str...-Befehlen. Die fressen enorm viel Speicherplatz.
Lesezeichen