¡Buenas DaniekL!
Ya he dado con tus problemas.
El 1º esta en la definicion del PATH. No puedes definir el PATH = VALOR, lo tienes que definir como un char *.
Cambia esta linea:
#define PATH = "/home/daniel/.drawsom/wordlist" //El PATH del fichero
Por esta otra:
char * PATH = "/home/daniel/.drawsom/wordlist"; //El PATH del fichero
Y el 2º error lo tienes en el strtstr(). Esta funcion se define de esta manera:
char *strstr(const char *s1, const char *s2);
Siendo s1 y s2 2 cadenas de caracteres, y lo que hace es buscarte la cadena s1 dentro de la cadena s2. Por tanto no hace falta que recorrars tu la cadena s2 (s2
).
Por tanto, tu funcion find() ahora queda asi:
//Funcióm que busca la palabra
void find(int tamano, char *l) {
FILE *wordlist;
char letters[13], *aux;
int check, i; /*check comprueba si la palabra leida contiene las letras que pasamos como argumento.
Si check es mayor o igual que el tamaño de la palabra, esta cumple las caracteristicas*/
letters[12] = '\0';
wordlist
= fopen(PATH
, "r"); if(wordlist == NULL) {
printf("[Fatal Error!!] while opening wordfile\nAborting...\n"); }
aux
= fgets(NULL
, 15, wordlist
); while(aux != NULL) {
if(strlen(aux
) == tamano
) { // quitamos el for() if(strstr(aux
, letters
) != NULL
) { //sustituimos el puntero a caracter letters[i] por letters check++;
}
if(check >= tamano) {
}
}
aux
= fgets(NULL
, 15, wordlist
); }
Un saludo.