Foros del Web » Programación para mayores de 30 ;) » C/C++ »

No me funciona fseek en C

Estas en el tema de No me funciona fseek en C en el foro de C/C++ en Foros del Web. Tengo problemas con la función fseek, hay veces que no me funciona y no sé porque... @import url("http://static.forosdelweb.com/clientscript/vbulletin_css/geshi.css"); Código C: Ver original #include <stdio.h> int ...
  #1 (permalink)  
Antiguo 28/11/2012, 14:19
 
Fecha de Ingreso: julio-2009
Mensajes: 36
Antigüedad: 14 años, 9 meses
Puntos: 0
Pregunta No me funciona fseek en C

Tengo problemas con la función fseek, hay veces que no me funciona y no sé porque...

Código C:
Ver original
  1. #include <stdio.h>
  2. int main(){
  3.     FILE * h;
  4.     h=fopen("testseek.txt","wb"); //abrir w
  5.     fseek(h,0L, SEEK_SET); //funciona
  6.     fputs("inicio",h);
  7.     fseek(h,20L, SEEK_END); //funciona
  8.     fputs("final",h);
  9.     fclose(h);         //cerrar
  10.     h=fopen("testseek.txt","a+b"); //abrir a+
  11.     fseek(h,0L, SEEK_SET); //no funciona =(
  12.     fputs("inicio 2",h);
  13.     fclose(h);
  14. fflush(stdin);
  15. return 0;
  16. }

Saludos y gracias de antemano.
  #2 (permalink)  
Antiguo 28/11/2012, 16:50
 
Fecha de Ingreso: diciembre-2011
Ubicación: CABA
Mensajes: 433
Antigüedad: 12 años, 4 meses
Puntos: 94
Respuesta: No me funciona fseek en C

Hola! a pesar de ser un codigo muy corto debes aclarar q es lo q sucede... no imprime "inicio 2" en el archivo??? acordate q estas abriendo para añadir al final y en modo binario


Saludos

Última edición por cesar_casla; 28/11/2012 a las 16:56
  #3 (permalink)  
Antiguo 28/11/2012, 18:08
 
Fecha de Ingreso: julio-2009
Mensajes: 36
Antigüedad: 14 años, 9 meses
Puntos: 0
Exclamación Respuesta: No me funciona fseek en C

Bueno si, la solución la encontré hace unas horitas, este código solo era para mostrar que no funcionaba... y era por lo que acabas de mencionar, en modo "a+" imprime al final del archivo... aunque lo lleve al principio con fseek, imprimirá al final. la solución es abrirlo con r+.

Gracias por responder. pero otras 2 pregunta con relacion a fseek:

¿Solamente se puede usar en modo binario?
¿El valor numérico tengo que ponerle la L de long en el segundo parámetro?
  #4 (permalink)  
Antiguo 28/11/2012, 18:23
 
Fecha de Ingreso: diciembre-2011
Ubicación: CABA
Mensajes: 433
Antigüedad: 12 años, 4 meses
Puntos: 94
Respuesta: No me funciona fseek en C

Cita:
¿Solamente se puede usar en modo binario?
tengo entendido que tanto para archivos de tipo texto como binario se puede usar fseek

Cita:
¿El valor numérico tengo que ponerle la L de long en el segundo parámetro?
teoricamente y como buen aprendizaje , ya que la funcion recibe un long int. Tambien se puede omitir ya que se hace una conversion implicita a long


Saludos
  #5 (permalink)  
Antiguo 28/11/2012, 21:00
 
Fecha de Ingreso: julio-2009
Mensajes: 36
Antigüedad: 14 años, 9 meses
Puntos: 0
Respuesta: No me funciona fseek en C

Muchísimas gracias, ahora podre terminar mi tarea.

Etiquetas: fseek, funcion, int
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 02:30.