Not on topic:
1) it should be int main(), not void main().
2) don't use the return result of eof() as the conditional for a loop to run or not. Sooner or later it will get you into trouble.
On topic:
1) You want to read from file to cadena2, not cadena
2) You need to have something in both cadena2 and cadena when sending them to strcmp()
3) Using strcmp() just looks for equivalence of the two strings. I suspect you want to see if cadena is a substring of cadena2, so strstr() or something similar may be more pertitent.
4) Using this approach you are limited to the desired string being found in the target string and both going in the same direction. If you want to see if the desired string is present, but backward in the target string, then this approach will not work. Likewise, many wordfinding puzzles require you to look for desired words in grid of char, not a string of char, and the desired words may be oriented horizontally, vertically, or at an angle and may be going bidirectional in each orientation. Your code has no chance of doing anything like that.
5) I see no way to get an x and a y coordinate indicating where in a grid the desired word is ound in your code.
If you want/need to be able to look for desired words in all orientations bidirectionally, or some subgroup beyond horizontal and left to right, then I would declare cardena2 to be a two dimensional array of char. I would fill cardena2 from information in file 1 char at a time (although in theory you could do it one row or line at a time, depending how the file contents correlate with a two dimensional array). I would also declare cardena to be an array of strings, which could also be a 2 twomensional array of strings if desired. I would then use a nested loop to find the location of the first letter of each string/word in cardena in cardena2 and report the row/column (x/y) of the first letter of cardena in cardena2.