• Sábado 14 de Diciembre de 2024, 20:25

Autor Tema:  Varias Preguntas  (Leído 1108 veces)

y0mism0

  • Miembro activo
  • **
  • Mensajes: 31
    • Ver Perfil
Varias Preguntas
« en: Domingo 11 de Febrero de 2007, 22:27 »
0
1. Cuando tu abres un fichero para entrada y salida ("r+"), y, despues de leer del fichero, por ej, haciendo un "fscanf(FILE *f....) ",   tienes que utilizar la funcion fflush, antes de escribir en el mismo fichero, por ej, haciendo un "fprintf(FILE *f...) ???

2. Es lomismo, para acceder a una estructura, poner " p->campo" que poner " (*p).campo?? y sin parentesis "*p.campo"?

3. Para que se utiliza la barra inclinada y el guion en estas sentencias?? "t[0].campo/t[0].campo2"   y   "t[0].campo-t[0].campo3"


4. Porque esta sentencia es incorrecta "reg3.reg2.reg1-->(*pa)" y esta otra no
" *(reg3.reg2.reg1-->pa)" ??


SAludos.

su -

  • Moderador
  • ******
  • Mensajes: 2349
    • Ver Perfil
Re: Varias Preguntas
« Respuesta #1 en: Domingo 11 de Febrero de 2007, 23:29 »
0
fflush es para limpiar el buffer asociado con I/O y cuando se trata desde el programa que lee los datos, como ocurre con stdin, la funcion fflush limpia el buffer.
Desde el flujo en el que el programa escribe los resultados, fflsuh escribe el contenido del buffer eb el archivo ligado y naturalmente limpia el buffer.

Bien, un buffer es automaticamente limpiado cuando esta lleno, cuando se cierra el flujo o cuando el programa finaliza.
*******PELIGRO LEE ESTO!!*******

There is no place like 127.0.0.1

Conecto luego existo, no conecto luego insisto.

Geo

  • Miembro de PLATA
  • *****
  • Mensajes: 1011
  • Nacionalidad: mx
    • Ver Perfil
    • http://hsblog.mexchip.com
Re: Varias Preguntas
« Respuesta #2 en: Lunes 12 de Febrero de 2007, 00:29 »
0
Cita de: "y0mism0"
2. Es lomismo, para acceder a una estructura, poner " p->campo" que poner " (*p).campo?? y sin parentesis "*p.campo"?
Las primeras dos son equivalentes, la tercera es un error. Como el operador "." tiene mayor precedencia que "*", la instrucción se evalúa como si tuvieras esto:
Código: Text
  1.  
  2. *(p.campo)
  3.  
  4.  
lo cual es un claro error, ya que p es un puntero y para acceder a los miembros mediante punteros debes usar el operador "->".

Cita de: "y0mism0"
3. Para que se utiliza la barra inclinada y el guion en estas sentencias?? "t[0].campo/t[0].campo2"   y   "t[0].campo-t[0].campo3"
División y resta, respectivamente.

Saludos,
JJ (Geo).
La imaginación es el límite.
Hardware & Software | Mexchip