Valentin schrieb:
> Dann packe ich die Zeichen in ein Array ein.
>
1 | > char buffer[7];
|
2 | > ltoa((long) getchar(), buffer);
|
3 | >
|
Nö.
Ein einzelnes Zeichen ist zuallererst mal kein String. Ein einzelnes
Zeichen ist ein 'A' oder ein 'B' oder auch ein '5' oder ein '?'. Aber
das ist noch lange kein String.
was du hier machst, das ist komplett undefiniert. Du castest dir die
Dinge so lange zurecht, bis dein Compiler das irgendwie frisst und
machst dabei das komplett falsche.
Erst mal musst du die einzelnen Zeichen sammeln (in dem Array, das du
ruhig auch ein wenig größer machen kannst), bis du das Zeilenende vom
Sender erhältst. Auch das Zeilenende ist ein Zeichen. Es schreibt sich
in C als '\n'.
D.h. du sammelst erst mal
1 | index = 0;
|
2 |
|
3 | c = getchar();
|
4 | while( c != '\n' ) {
|
5 | buffer[index] = c;
|
6 | index++;
|
7 | c = getchar();
|
8 | }
|
9 |
|
10 | buffer[index] = '\0';
|
und erst jetzt hast du einen String, auf den du zb ltoa los lassen
kannst, welches dir aus dem String "456" die Zahl 456 generiert.
>
1 | > char const *a = 0;
|
2 | >
|
3 | > analyse(buffer[a]);
|
4 | >
|
Dazu brauchst du keinen extra Pointer. Du kannst ganz einfach buffer in
diese Funktion hineingeben