<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="es">
	<id>http://wiki.cabal.mx/index.php?action=history&amp;feed=atom&amp;title=Curso_de_Programaci%C3%B3n_en_C%2FProg116</id>
	<title>Curso de Programación en C/Prog116 - Historial de revisiones</title>
	<link rel="self" type="application/atom+xml" href="http://wiki.cabal.mx/index.php?action=history&amp;feed=atom&amp;title=Curso_de_Programaci%C3%B3n_en_C%2FProg116"/>
	<link rel="alternate" type="text/html" href="http://wiki.cabal.mx/index.php?title=Curso_de_Programaci%C3%B3n_en_C/Prog116&amp;action=history"/>
	<updated>2026-05-13T02:16:35Z</updated>
	<subtitle>Historial de revisiones para esta página en el wiki</subtitle>
	<generator>MediaWiki 1.32.1</generator>
	<entry>
		<id>http://wiki.cabal.mx/index.php?title=Curso_de_Programaci%C3%B3n_en_C/Prog116&amp;diff=4088&amp;oldid=prev</id>
		<title>Rrc en 17:42 27 sep 2012</title>
		<link rel="alternate" type="text/html" href="http://wiki.cabal.mx/index.php?title=Curso_de_Programaci%C3%B3n_en_C/Prog116&amp;diff=4088&amp;oldid=prev"/>
		<updated>2012-09-27T17:42:00Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Página nueva&lt;/b&gt;&lt;/p&gt;&lt;div&gt;__NOTOC__&lt;br /&gt;
* [[:#Prog116 | fread() y fwrite()]]&lt;br /&gt;
** [[:#Resultado | Resultado]]&lt;br /&gt;
** [[:#Explicación | Explicación]]&lt;br /&gt;
&lt;br /&gt;
== Prog116 ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;c&amp;quot; line=&amp;quot;GESHI_FANCY_LINE_NUMBERS&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
#include &amp;lt;stdio.h&amp;gt;&lt;br /&gt;
#include &amp;lt;stdlib.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
#define TAMANOAR 1000&lt;br /&gt;
&lt;br /&gt;
int main( void )&lt;br /&gt;
{&lt;br /&gt;
  double Numeros[TAMANOAR],&lt;br /&gt;
         Valor;&lt;br /&gt;
&lt;br /&gt;
  const char * Archivo = &amp;quot;Numeros.dat&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
  int i;&lt;br /&gt;
&lt;br /&gt;
  long pos;&lt;br /&gt;
&lt;br /&gt;
  FILE *ioArchivo;&lt;br /&gt;
&lt;br /&gt;
  // Crear un grupo de valores de dobles&lt;br /&gt;
  for( i = 0; i &amp;lt; TAMANOAR; i++ )&lt;br /&gt;
    Numeros[i] = 100.0 * i + 1.0 / (i + 1);&lt;br /&gt;
&lt;br /&gt;
  if( ( ioArchivo = fopen( Archivo, &amp;quot;wb&amp;quot; ) ) == NULL )&lt;br /&gt;
  {&lt;br /&gt;
    fprintf( stderr, &amp;quot;No puedo abrir el archivo de salida: %s.\n&amp;quot;, Archivo );&lt;br /&gt;
    exit(1);&lt;br /&gt;
  }&lt;br /&gt;
  // write array in binary format to Archivo&lt;br /&gt;
  fwrite( Numeros, sizeof (double), TAMANOAR, ioArchivo );&lt;br /&gt;
  fclose( ioArchivo );&lt;br /&gt;
&lt;br /&gt;
  if( ( ioArchivo = fopen( Archivo, &amp;quot;rb&amp;quot; ) ) == NULL )&lt;br /&gt;
  {&lt;br /&gt;
    fprintf( stderr, &amp;quot;No puedo abrir %s para acceso random.\n&amp;quot;, Archivo );&lt;br /&gt;
    exit( 1 );&lt;br /&gt;
  }&lt;br /&gt;
  // read selected items from Archivo&lt;br /&gt;
  printf( &amp;quot;Ingresa un index en el rango 0-%d: &amp;quot;, TAMANOAR - 1 );&lt;br /&gt;
  scanf( &amp;quot;%d&amp;quot;, &amp;amp;i );&lt;br /&gt;
  while( i &amp;gt;= 0 &amp;amp;&amp;amp; i &amp;lt; TAMANOAR )&lt;br /&gt;
  {&lt;br /&gt;
    pos = (long)i * sizeof( double ); // calcular el offset&lt;br /&gt;
    fseek( ioArchivo, pos, SEEK_SET );&lt;br /&gt;
    fread( &amp;amp;Valor, sizeof( double ), 1, ioArchivo );&lt;br /&gt;
    printf( &amp;quot;El Valor allá es %f.\n&amp;quot;, Valor );&lt;br /&gt;
    printf( &amp;quot;Siguiente index (a fuera del rango para terminar): &amp;quot;);&lt;br /&gt;
    scanf( &amp;quot;%d&amp;quot;, &amp;amp;i );&lt;br /&gt;
  }&lt;br /&gt;
  fclose( ioArchivo );&lt;br /&gt;
  puts( &amp;quot;\n¡Adios!\n&amp;quot; );&lt;br /&gt;
  return 0;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Resultado ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[rrc@llawyr CClase]$ gcc -Wall -o Prog116 Prog116.c&lt;br /&gt;
[rrc@llawyr CClase]$ ./Prog116&lt;br /&gt;
Ingresa un index en el rango 0-999: 40&lt;br /&gt;
El Valor allá es 4000.024390.&lt;br /&gt;
Siguiente index (a fuera del rango para terminar): 21 &lt;br /&gt;
El Valor allá es 2100.045455.&lt;br /&gt;
Siguiente index (a fuera del rango para terminar): 66&lt;br /&gt;
El Valor allá es 6600.014925.&lt;br /&gt;
Siguiente index (a fuera del rango para terminar): 99&lt;br /&gt;
El Valor allá es 9900.010000.&lt;br /&gt;
Siguiente index (a fuera del rango para terminar): 345&lt;br /&gt;
El Valor allá es 34500.002890.&lt;br /&gt;
Siguiente index (a fuera del rango para terminar): 999&lt;br /&gt;
El Valor allá es 99900.001000.&lt;br /&gt;
Siguiente index (a fuera del rango para terminar): 2345&lt;br /&gt;
&lt;br /&gt;
¡Adios!&lt;br /&gt;
&lt;br /&gt;
[rrc@llawyr CClase]$ &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Explicación ===&lt;br /&gt;
 &lt;br /&gt;
[[Category:Programación en C]]&lt;br /&gt;
[[Category:CCabal]]&lt;br /&gt;
[[Category:CursoC]]&lt;/div&gt;</summary>
		<author><name>Rrc</name></author>
		
	</entry>
</feed>