Witam. Otóż posiadam taki oto program, który przy próbie wpisania do bufora danych z bazy wywala mi się, w jaki sposób to rozwiązać ? Kolejna sprawa to nie wyłapuje mi funkcji gets ( po prostu pomija jakiekolwiek wczytywanie tekstu, jak by wgl tego gets nie było ) No i prosiłbym o ewentualne komentarze jak rozszerzyć ten program bądź tez w jaki prostszy sposób przeszukiwać elementy bazy. Pozdrawiam

#include "stdafx.h"
#include <conio.h>
#include <stdio.h>
#include <string.h>
#include <cstdlib>
#include <malloc.h>
void noweslow();
void czysc();
void tlumacz();
int _tmain(int argc, _TCHAR* argv[])
{
	int key;
	int koniec;
	koniec=0;
	do
	{
	system("CLS");
	printf("MENU:\n");
	printf("Wprowadz nowe slownictwo[1]\n");
	printf("Tlumacz[2]\n");
	printf("Wyczysc baze[3]\n");
	printf("Koniec[4]\n");
	printf("Wybor:");
	scanf("%d",&key);
	switch(key)
	{
	case 1:
		noweslow();
	break;
	case 2:
		tlumacz();
	break;
	case 3:
		czysc();
		break;
	case 4:
		printf("\nDowidzenia !");
		koniec=1;
		break;

	}
	}while(!koniec);
	_getch();
	return 0;
}

void noweslow()
{
	char slowo1[128];
	char slowo2[128];
	printf("\nPodaj slowo po ANG:");
	scanf("%s",&slowo1);
	printf("\nPodaj polski odpowiednik:");
	scanf("%s",&slowo2);
	FILE *baza;	
	baza = fopen("baza.txt", "ab");	
	if(baza)
	{
		fprintf(baza, "%s:%s:", slowo1,slowo2);
		fclose(baza);
	}

	printf("\nDone!\n");
}

void czysc()
{
	FILE *baza;	
	baza = fopen("baza.txt", "w");	
	printf("\nWyczyszczono!\n");
}

void tlumacz()
{
	char zdanie[128];
	FILE *baza;	
	int dlug;
	baza = fopen("baza.txt", "r");	
	if(baza)
	{
		fseek(baza,0,SEEK_END);
		dlug= ftell(baza);
		fclose(baza);
	}
	char *n=NULL;
	n = new char[dlug];
	printf("Wprowadz slowo do przetlumaczenia:\n");
	gets(zdanie);
	baza = fopen("baza.txt", "r");	
	if(baza)
	{
		fscanf(baza, "%s", &n);
		fclose(baza);
	}

	if(strstr(n, zdanie))
	{
		int i,temp;
		int x=0;
		for(i=0;i<dlug;++i)
		{

			if(zdanie[x]==n[i])
			{
				x++;
				if(n[i+1]==':') 
					{
						temp=i+2;
						break;
				}
			}
		}
		printf("TLUMACZENIE: ");
        for(i=temp;i<dlug;++i)
		{
			if(n[i]==':') break;
			printf("%c",n[i]);
		}
		_getch();
	}
	else printf("Brak tego slowa w bazie !\n");
	delete [] n;
}