RE:Contar palabras de un txt
La forma que te comentan es una posibilidad, pero tienes que hacer alguna cosa mas. Por ejemplo, si una palabra esta al final de linea y la siguiente al principio de la linea siguiente, estan separadas por un retorno de carro y no por un espacio. Debes contar tambien los retornos de carro, los tabuladores, etc. Además, es posible que haya dos espacios seguidos o un retorno de carro y detrás un tabulador. Debes contar secuencias seguidas de estos caracteres como una unica palabra.
Una forma que quizás resulte mas facil es usar la funcion fscanf(). Si haces esto
char cadena[100];
int contador = 0;
while (fscanf (fichero, "%s", cadena) == 1)
contador++;
fscanf() devuelve cuantas variables ha leido. Con %s lee palabras (deja de leer en los espacios, tabuladores y retornos de carro). NO lo he probado, pero yo creo que de esta forma puedes resolver tu problema sin liarte demasiado.
Se buena.