Hola.
Verán, estoy haciendo un programa que lee una lista de palabras y las compara con una lista de letras.
Aquí de lo muestro
//drawsomething.c
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#define PATH = "/home/daniel/.drawsom/wordlist" //El PATH del fichero
//Funcion que muestra el uso y sale
void usage(char *s) {
printf("\t-----Usage-----\n\nTo add a word use: %s -a <the_word>\nTo find a word use: %s <length_of_the_word> <the_possible_letter>\n", s
, s
); }
//Añade una nueva palabra a la lista
void add(char *word) {
FILE *wordlist;
wordlist
= fopen(PATH
, "w"); if(wordlist == NULL) {
printf("[Fatal Error!!] while opening wordfile\nAborting...\n"); }
fwrite(word
, sizeof(word
), 1, wordlist
); }
//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) {
for(i = 0; i < 12; i++) {
if(strstr(aux
, letters
[i
]) != NULL
) { check++;
}
}
if(check >= tamano) {
}
}
aux
= fgets(NULL
, 15, wordlist
); }
}
int main(int argc, char *argv[]) {
if(argc < 3)
usage(argv[0]);
add(argv[2]);
else
find
(atoi(argv
[1]), argv
[2]); return 0;
}
El problema viene cuando lo compilo. Uso el gcc y me arroja este resultado:
drawsomething.c: En la función ‘add’:
drawsomething.c:13:19: error: expected expression before ‘=’ token
drawsomething.c: En la función ‘find’:
drawsomething.c:28:19: error: expected expression before ‘=’ token
drawsomething.c:37:5: aviso: el paso del argumento 2 de ‘strstr’ crea un puntero desde un entero sin una conversión [activado por defecto]
/usr/include/string.h:342:14: nota: se esperaba ‘const char *’ pero el argumento es de tipo ‘char’
He revisado los errores pero no veo el fallo y como el compilador lleva tiempo haciendo cosas raras pues a lo mejor es un fallo (sin ofender al gran Stallman
) por que ademas, sale que tengo errores en la libreria string.h.
Si alguien tiene la solución al problema (que me jugaría el brazo a que es una chorrada) le agradeceía mucho que me ayudase.
Gracias. Un abrazo.