Console.h:
codice:
#include<stdio.h>
#include<stdlib.h>
#include<conio.h>
#include<string.h>
void InserisciDaTastiera(char *stringa, int Max);
char *StringaArbitraria();
Console.c:
codice:
#include "Console.h"
/* =============================================
** Function per leggere una stringa di caratteri
** da tastiera
** ---------------------------------------------*/
void InserisciDaTastiera(char *stringa, int Max)
{
int i;
fgets(stringa, Max, stdin);
for ( i=0; stringa[i] < 0 || stringa[i] > 31; i++);
stringa[i]=0;
fflush(stdin);
}
/* =============================================
** Function per leggere una stringa di caratteri
** arbitraria
** ---------------------------------------------*/
char *StringaArbitraria()
{
int i=0;
char *c,ci;
c=(char*)malloc(sizeof(char));
while(ci!=10) // mi fermo quando trovo un newline \n
{
ci=getchar(); // inserisco un singolo carattere
c[i]=ci; // lo associo puntatore
i++;
c=(char*)realloc(c,sizeof(char)*(i+1));
}
c[i]='\0'; //inserisco terminatore '\0'
return c;
}
MyLibrary.h:
codice:
typedef int (*COMPARE)(void*, void*);
typedef void (*STAMPAINFO)(void*);
//typedef (*COPIA)(void*, void*);
int CompareString( void *val1, void *val2 );
int CompareInteger(void *val1, void *val2);
MyLibrary.c
codice:
#include "Console.h"
#include "MyLibrary.h"
// Compare string
int CompareString( void *val1, void *val2 )
{
int result;
result=strcmp((char *)val1, (char *)val2);
return result;
}
// Compare integer
int CompareInteger(void *val1, void *val2)
{
int result;
// Il primo valore è minore del secondo, restituisco -1
if (val1 < val2)
result = -1;
else if (val1 > val2) // se val1 > val2 restituisco 1
result = 1;
else
result = 0; // altrimenti se va1 = val2 restituisco 0
return result;
}
// Compare float
int CompareFloat(void *val1, void *val2)
{
int result;
// Il primo valore è minore del secondo, restituisco -1
if (val1 < val2)
result = -1;
else if (val1 > val2) // se val1 > val2 restituisco 1
result = 1;
else
result = 0; // altrimenti se va1 = val2 restituisco 0
return result;
}