¡Buenas!
Tienes varios errores.
nuevo ya es un puntero al primer caracter de la cadena, entoncens estas pasando como parametro un puntero a un puntero. Te sobra el ampersand.
Aqui hay dos errores. Primero estas intentando leer una cadena en un char (nuevo(i) es un caracter) y, segundo, estas cerrando el fichero despues de cada lectura.
O bien lees una unica vez la cadena, o bien lees los distintos caracteres, utilizando para esto ultimo el especificador de formato %c.
Otro problema esta en la condicion del while.
Si miras el prototipo de la funcion feof:
http://www.cplusplus.com/reference/clibrary/cstdio/feof/
veras que devuelve cero si no se ha llegado al final, y distinto de cero si se ha alcanzado el final.
Lo que tu estas haciendo es comparar i con el valor devuelto por feof, y como no sabemos que valor devolvera feof, puede que nunca sea igual al de i, y entraras en un bucle infinito.
Comprueba siempre si se ha alcanzado el final del fichero mirando si el valor devuelto por feof es distinto de cero.
¡Saludos!
PD: Para cualquier duda sobre funciones consulta siempre en internet. Te recomiendo:
http://www.cplusplus.com
Y antes de empezar con ficheros estudia entradas y salidas por teclado y monitor. scanf y printf para empezar.
Tienes varios errores.
Código (c) [Seleccionar]
fscanf(pt,"%s",&nuevo);
nuevo ya es un puntero al primer caracter de la cadena, entoncens estas pasando como parametro un puntero a un puntero. Te sobra el ampersand.
Código (c) [Seleccionar]
for(i=0;!feof(pt);i++)
{
fscanf(pt,"%s",&nuevo[i]);
fclose(pt);
}
Aqui hay dos errores. Primero estas intentando leer una cadena en un char (nuevo(i) es un caracter) y, segundo, estas cerrando el fichero despues de cada lectura.
O bien lees una unica vez la cadena, o bien lees los distintos caracteres, utilizando para esto ultimo el especificador de formato %c.
Otro problema esta en la condicion del while.
Si miras el prototipo de la funcion feof:
http://www.cplusplus.com/reference/clibrary/cstdio/feof/
veras que devuelve cero si no se ha llegado al final, y distinto de cero si se ha alcanzado el final.
Código (c) [Seleccionar]
while(i!=feof(pt))
Lo que tu estas haciendo es comparar i con el valor devuelto por feof, y como no sabemos que valor devolvera feof, puede que nunca sea igual al de i, y entraras en un bucle infinito.
Comprueba siempre si se ha alcanzado el final del fichero mirando si el valor devuelto por feof es distinto de cero.
¡Saludos!
PD: Para cualquier duda sobre funciones consulta siempre en internet. Te recomiendo:
http://www.cplusplus.com
Y antes de empezar con ficheros estudia entradas y salidas por teclado y monitor. scanf y printf para empezar.