[C]TIGCC-Problem

DeChecka

Erfahrenes Mitglied
Hi!
Sicherlich gibt es hier welche, die sich mit TIGCC auskennen...
Falls nicht, macht das auch nicht viel, denn es geht ja hier im Grunde um die Programmiersprache C.

Also mein Problem ist folgendes:
Ich habe eine Funktion geschrieben, die einfach nur Zahlen einlesen soll, die der User eingibt. Das sieht so aus:
Code:
#include <tigcclib.h>

char fspeicher[100], zeichen = '\0';
int zaehler = 0;

void ZahlSpeicherung()
{
	clrscr();
	printf("Bitte geben Sie Ihre Zahl ein!\n");
	do
	{
	 GKeyFlush();
	 zeichen = ngetchx();
	 switch(zeichen)
	 {
	 	case '0':
	 	case '1':
		case '2':
		case '3':
		case '4':
		case '5':
		case '6':
		case '7':
		case '8':
		case '9':
		{
			printf("%c", zeichen);
			fspeicher[zaehler++] = zeichen;
			fspeicher[zaehler] = '\0';
		}
	 }
	}
	while(!_keytest(RR_ESC));
}

Wenn ich diese Funktion aufrufe, läuft auch alles ganz normal... Aber immer nur für eine Weile... denn ich habe probiert, verschiedene Zahlen ganz schnell nacheinander einzugeben, oder auch verschiedene langsam, und immer wieder fliege ich einfach aus dem Programm raus...

Weiß einer, an was das liegen könnte?

PS: Entwicklungsumgebung habe ich natürlich TIGCC;)

MfG
DeChecka
 
moin


Kann es sein das das immer nach 100 Zeichen passiert?
Dann liegt es daran das fspeicher nur 100 Zeichen aufnehmen kann, das 101. Zeichen erzeugt nen Pufferüberlauf, was meist dazu führt das ein Programm abstürzt.


mfg
umbrasaxum
 
Zurück