<div dir="ltr">Hola Federico,<div><div class="gmail_extra"><br><div class="gmail_quote">2016-05-25 3:23 GMT-04:00 Federico Bracamonte <span dir="ltr"><<a href="mailto:fede_b389@hotmail.com" target="_blank">fede_b389@hotmail.com</a>></span>:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-style:solid;border-left-color:rgb(204,204,204);padding-left:1ex">




<div dir="ltr">
<div style="font-size:12pt;color:rgb(0,0,0);font-family:Calibri,Arial,Helvetica,sans-serif;background-color:rgb(255,255,255)">
<p></p>
<p style="padding:0px;margin:0.5em 0px;font-size:14px;color:rgb(18,16,13);text-align:justify;font-family:Georgia,Verdana,Tahoma,Arial,sans-serif">
Hola alguien podria ser tan amable para exlicarme detalladamente que hace cada funcion? la que es vectorizar y las demas. Porque no entiendo el manejo de ficheros y me pasaron en estas funciones. Muchas Gracias</p>
<p style="padding:0px;margin:0.5em 0px;font-size:14px;color:rgb(18,16,13);text-align:justify;font-family:Georgia,Verdana,Tahoma,Arial,sans-serif">
Es de un programa para cargar productos, ver el stock, precio de venta, reporte de mercaderia, etc</p></div></div></blockquote><div><br></div><div>Como estás teniendo problemas con las funciones que manejan archivos, sugiero que consultes los recursos en nuestra página. Puedes dirigirte a la referencia de la biblioteca <stdio.h>: <a href="http://c.conclase.net/librerias/?ansilib=stdio#inicio">http://c.conclase.net/librerias/?ansilib=stdio#inicio</a>  al igual que el curso de archivos: <a href="http://c.conclase.net/ficheros/index.php">http://c.conclase.net/ficheros/index.php</a> (los primeros capítulos te vienen bien).</div><div><br></div><div>Voy comentando un poco el funcionamiento del código fuente que nos envías:<br><br>- La función, 'vectorizar()', sirve para procesar la cadena, 'B', separando las subcadenas entre los caracteres, '¥', copiándolas a cada array en 'A[i]'. Por ejemplo,</div><div><br></div><div>B <-- "datos¥más datos¥muchos más datos¥\0"</div><div><br></div><div>Se procesa 'B' separando los datos en varios arrays:</div><div><br></div><div>A[0] <-- "datos\0"</div><div><div>A[1] <-- "más datos\0"</div></div><div><div>A[2] <-- "muchos más datos\0"</div></div><div><div><br></div></div><div><div>- La función 'Datos()' sirve para convertir cada cadena separada en 'vector' a su representación correcta en las estructuras de 'Producto'; esto es, se copian las cadenas de caracteres a cada miembro correspondiente, se convierte 'vector[i]' a números enteros, decimales, etc..</div></div><div><br></div><div><div>- En 'Datos()', se invoca 'fopen()' para abrir un fichero (o archivo) de texto para su lectura con el nombre de "datos.txt".</div></div><div><br></div><div>- Se invoca 'fread()' erróneamente. Está escrito,</div><div><br>char linea[99]="";</div><div>...<br></div><div>fread( &linea,sizeof(linea),1,fichero )<br></div><div><br></div><div>Esto es incorrecto, porque 'linea' ya es una dirección de memoria, por lo tanto se puede convertir a un puntero implícitamente.</div><div><br></div><div>La solución es pasar 'linea' directamente; esto es,</div><div><br></div><div>fread( linea,sizeof(linea),1,fichero )<br></div><div><br></div><div>- La función, 'fread()', sirve para leer una cantidad de bytes, representados como 'char', desde un fichero (previamente abierto). Por ejemplo,<br><br></div><div>fread( linea,sizeof(linea),1,fichero )<br></div><div><br></div><div>leerá hasta 99 bytes (como 'char') y los guardará en 'linea'. Por cierto, internamente existe un cursor de lectura que se aumentará en preparación para siguientes lecturas, invocando a 'fread()'.</div><div><br></div><div>- La función 'guardar()' sirve exactamente para este propósito: se guarda los datos en 'Producto[i]' al fichero de texto, "datos.txt".</div><div><br></div><div>- La función, 'fwrite()', sirve para escribir una serie de bytes (como 'char') a un fichero (previamente abierto).</div><div><br></div><div><br></div><div>Espero que esto te oriente.</div><div><br></div><div>Steven</div><div><br></div></div></div></div></div>