Hi Kröte.
Zuerst einmal ist dein String "walzel" nur
ein Zeichen lang, du greifst aber auch auf das 48. Zeichen zu. Das kann nicht gut gehen. Im Übrigen fehlte die schließende Klammer zu
for. Auch musst du, damit strlen korrekt arbeitet, das letzte Zeichen auf
'\0' setzen.
Schreibst du den Code etwa so, dann erhälst du die Länge per
strlen(walzel).
C-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15:
| #include "stdafx.h" #include "stdio.h"
char walze1[50]; void eingabe(void) { for(a = 0; a < 50; ++a) { c = getch();
if(c == 0x0D) { walze1[a] = 0x00; code(); } else walze1[a] = c; } } |
Noch besser wäre allerdings, du verwendest gleich C++, dann sieht's nämlich so aus wie unten und die Länge erhälst du mit
walzel.length(). (Will dir nicht reinreden, aber ich find' sowas hübscher...)
C++
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15:
| #include "string" #include "stdio.h"
using namespace std;
string walze1;
void eingabe(void) { for(a = 0; a < 49; ++a) { c = getch();
if (c == 0x0D) code(); else walzel.append(string(1, c)); } } |
Gruß,
Waldteufel
PS: Die beiden Codes sind aus dem Gedächtnis geschrieben, also ungetestet!