<?xml version="1.0" encoding="UTF-8"?><!-- generator="bbPress" -->
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
>
	<channel>
		<title>Dudas de Programacion &#187; Tag: ficheros - Recent Posts</title>
		<link>http://www.dudasprogramacion.com/tags/ficheros</link>
		<description>Dudas sobre lenguajes y apis de programación</description>
		<language>en-US</language>
		<pubDate>Tue, 07 Feb 2012 21:56:29 +0000</pubDate>
		<generator>bbpress 1.1</generator>
		<textInput>
			<title><![CDATA[Search]]></title>
			<description><![CDATA[Search all topics from these forums.]]></description>
			<name>q</name>
			<link>http://www.dudasprogramacion.com/search.php</link>
		</textInput>
		<atom:link href="http://www.dudasprogramacion.com/rss/tags/ficheros" rel="self" type="application/rss+xml" />

		<item>
			<title>Torres on "Borrar solo una linea de un fichero"</title>
			<link>http://www.dudasprogramacion.com/topic/borrar-solo-una-linea-de-un-fichero#post-685</link>
			<pubDate>Thu, 04 Nov 2010 07:26:01 +0000</pubDate>
			<dc:creator>Torres</dc:creator>
			<guid isPermaLink="false">685@http://www.dudasprogramacion.com/</guid>
			<description><p>Buenas,</p>
<p>La idea es abrir el fichero, leerlo y copiar cada línea excepto la que quieres borrar.</p>
<p>Un ejemplo:</p>
<p><a href="http://www.javadb.com/remove-a-line-from-a-text-file" rel="nofollow">http://www.javadb.com/remove-a-line-from-a-text-file</a>
</p></description>
		</item>
		<item>
			<title>coque21 on "Borrar solo una linea de un fichero"</title>
			<link>http://www.dudasprogramacion.com/topic/borrar-solo-una-linea-de-un-fichero#post-684</link>
			<pubDate>Thu, 04 Nov 2010 03:28:48 +0000</pubDate>
			<dc:creator>coque21</dc:creator>
			<guid isPermaLink="false">684@http://www.dudasprogramacion.com/</guid>
			<description><p>Hola amigos este es mi primer post, de antemano gracias</p>
<p>Estaba haciendo un proyecto para la universidad y necesito borrar solo una linea de un fichero en formato txt, porque hasta hora solo he encontrado como borrar todo ese fichero, pongo un ejemplo para explicarme mejor:</p>
<p>Digamos q en el archivo datos.txt tenemos lo siguiente<br />
Ramon,Perez,5,8,9,4,1,20.0<br />
Jimena,Narvaes,9,4,2,7,6,25.0<br />
Ricardo,Lopez,8,9,4,5,1,2,17.5</p>
<p>Digamos que solo quiero borrar la linea donde aparace Jimena,Narvaes,9,4,2,7,6,25.<br />
y que quede de la siguiente manera<br />
Ramon,Perez,5,8,9,4,1,20.0<br />
Ricardo,Lopez,8,9,4,5,1,2,17.5</p>
<p>solo como informacion estos datos los muestro en un textField y pues cada dato esta separado por la coma</p>
<p>Espero puedan ayudarme a la brevedad</p>
<p>Saludos!
</p></description>
		</item>
		<item>
			<title>cascamorris on "Applet gratuito para upload multiple de ficheros"</title>
			<link>http://www.dudasprogramacion.com/topic/applet-gratuito-para-upload-multiple-de-ficheros#post-606</link>
			<pubDate>Sun, 29 Aug 2010 18:27:38 +0000</pubDate>
			<dc:creator>cascamorris</dc:creator>
			<guid isPermaLink="false">606@http://www.dudasprogramacion.com/</guid>
			<description><p>Hola:</p>
<p>Necesito hacer un upload multiple de ficheros desde una aplicación web y para ello necesito un applet, pero todos los que he encontrado son de pago.</p>
<p>Alguien conoce alguno gratuito????????</p>
<p>Muchísimas gracias
</p></description>
		</item>
		<item>
			<title>jeremias10 on "un poco de ayuda con este codigo"</title>
			<link>http://www.dudasprogramacion.com/topic/un-poco-de-ayuda-con-este-codigo#post-467</link>
			<pubDate>Tue, 01 Jun 2010 23:10:48 +0000</pubDate>
			<dc:creator>jeremias10</dc:creator>
			<guid isPermaLink="false">467@http://www.dudasprogramacion.com/</guid>
			<description><p>hola a todos la verdad es q no c como implementar bien mi codigo, este codigo trata sobre ficheros en c++, el problema q tengo es q ala hora de modificar y eliminar me eliminan todo lo q tengo escrito, y cuando modifico si m modifica pero no me deja guardados todos y me los borra, </p>
<p>otro cosa es q cuando voy a mi pc -&#62; disco c  -&#62; borlan -&#62;  BIN--&#62; Y BUSCO el archivo q crie, y lo abro, me abre pero me da un monton e signos q nada q ver, necesito q me digas xq me aparecen esos signos, espero q me respondan y me digan cual es mi error,xq no encuentro nada</p>
<p>este es mi cogio:</p>
<p>#include &#60;stdio.h&#62;<br />
#include &#60;stdlib.h&#62;<br />
#include &#60;conio.h&#62;<br />
#include &#60;time.h&#62;<br />
#include &#60;iostream.h&#62;<br />
#include &#60;string.h&#62;</p>
<p>struct producto {<br />
    int codigo;<br />
    char nombre[50];<br />
    float precio;   </p>
<p>    };</p>
<p>void menuPrincipal();<br />
void menuproductos();</p>
<p>void nuevoproducto();<br />
void editarproducto();<br />
void eliminarproducto();<br />
void verproducto();</p>
<p>  //funcion principal<br />
int main() {<br />
 int opcion;<br />
 int salir = 0;<br />
while (salir != 1)<br />
  { // while mientras salir sea 0</p>
<p>   menuPrincipal();</p>
<p>   scanf("%d", &#38;opcion);</p>
<p>   switch(opcion) {<br />
    case 0:<br />
      salir = 1; // opcion salir del menu<br />
    break;</p>
<p>    case 1:<br />
    clrscr();<br />
      menuproductos();</p>
<p>    break;</p>
<p>     } // fin del switch de opcion de menu principal</p>
<p> }// fin del while para salir</p>
<p>  printf("\n\n");</p>
<p>  return 0;<br />
}</p>
<p>void menuPrincipal() {</p>
<p>     printf("\n	JEREMIAS IVAN CHIRICOC MARTINEZ           2890-09-4362\n\n");</p>
<p>     printf("			Selecciona la opciona realizar:\n\n");<br />
     printf("			1- PRODUCTOS.\n");<br />
     printf("			0- Salir.\n\n");<br />
     printf("			Opcion: ");<br />
}</p>
<p>void menuproductos(){</p>
<p>     int exit = 0;<br />
     int opc;</p>
<p>     while (exit != 1) {</p>
<p>       printf("\nMenu Productos.\n\n");<br />
       printf("Selecciona la opciona realizar:\n");<br />
       printf("1- Nuevo Producto.\n");<br />
       printf("2- Editar producto.\n");<br />
       printf("3- Eliminar Producto\n");<br />
       printf("4- Ver producto.\n");<br />
       printf("0- Salir.\n\n");<br />
       printf("Opcion: ");</p>
<p>       scanf("%d", &#38;opc);</p>
<p>       switch(opc) {<br />
	 case 0:<br />
	 clrscr();<br />
           exit = 1;<br />
         break;</p>
<p>	 case 1:<br />
	 clrscr();<br />
           nuevoproducto();<br />
         break;</p>
<p>	 case 2:<br />
	 clrscr();<br />
           editarproducto();<br />
         break;</p>
<p>	 case 3:<br />
	 clrscr();<br />
           eliminarproducto();<br />
         break;</p>
<p>	 case 4:<br />
	 clrscr();<br />
           verproducto();<br />
         break;<br />
       }<br />
     }<br />
}</p>
<p>//agregar nuevo producto</p>
<p>void nuevoproducto() {</p>
<p>     struct  producto prod;<br />
     FILE *fichero;</p>
<p>     printf("Datos del Nuevo producto.\n\n");</p>
<p>     printf("Ingrese el codigo del producto: ");<br />
     scanf("%d", &#38;prod.codigo);</p>
<p>     fflush(stdin);<br />
     printf("\nIngrese el nombre del producto: ");<br />
     gets(prod.nombre);</p>
<p>     fflush(stdin);<br />
     printf("\n ingrse el precio");<br />
     scanf("%f",&#38;prod.precio);</p>
<p>     if ((fichero = fopen("productos.txt", "a")) == NULL) {<br />
       printf ("Error en apertura del fichero para escritura\n");<br />
     }<br />
     else {<br />
       //guardamos los datos en el fichero<br />
       fwrite(&#38;prod, sizeof(prod), 1, fichero);<br />
       printf("\nproducto agreado.");<br />
       fclose (fichero);<br />
     }</p>
<p>     printf("\n\n");</p>
<p>}</p>
<p>//ver todos  productos<br />
void verproducto() {</p>
<p>     struct producto prod;<br />
     FILE *fichero;</p>
<p>     if ((fichero = fopen("productos.txt", "r")) == NULL) {<br />
          printf ( "No existen productos.\n " );</p>
<p>     }<br />
     else {<br />
          fread (&#38;prod, sizeof(prod), 1, fichero);<br />
          while (!feof(fichero)) {<br />
                printf("\nCodigo del producto: %d", prod.codigo);<br />
		printf("\nNombre del producto: %s", prod.nombre);<br />
                printf("\nprecio del producto: %f", prod.precio);</p>
<p>                fread (&#38;prod, sizeof(prod), 1, fichero); </p>
<p>          }<br />
          fclose (fichero);<br />
     }<br />
}</p>
<p>//editar un producto<br />
void editarproducto(){</p>
<p>     int codigoBuscado;<br />
     int encontrado = 0;<br />
     struct producto prod;<br />
     struct producto newpro;<br />
     FILE *fichero;<br />
     FILE *ficherox;</p>
<p>     printf("Modificacion de Datos del Producto.\n\n");</p>
<p>     printf("Ingrese el codigo del producto a modificar: ");<br />
     scanf("%d", &#38;codigoBuscado);</p>
<p>     if ((fichero = fopen("productos.txt", "r")) == NULL) {<br />
          printf ( "No existen productos.\n " );</p>
<p>     }<br />
     else {<br />
          fread (&#38;prod, sizeof(prod), 1, fichero);<br />
          while (!feof(fichero) &#38;&#38; (encontrado != 1)) {<br />
                if (codigoBuscado == prod.codigo)<br />
                   encontrado = 1;<br />
                fread (&#38;prod, sizeof(prod), 1, fichero);<br />
          }<br />
     }</p>
<p>     fclose (fichero);</p>
<p>     if (encontrado == 1) {</p>
<p>        newpro.codigo = codigoBuscado;</p>
<p>        fflush(stdin);<br />
        printf("\nIngrese el nombre del producto: ");<br />
        gets(newpro.nombre);      </p>
<p>           fflush(stdin);<br />
        printf("\nIngrese precio del producto: ");<br />
        scanf("%f",&#38;newpro.precio);</p>
<p>	if ((fichero = fopen ("productos.txt", "r")) == NULL)<br />
          printf ("\nERROR: No es posible abrir el fichero de entrada.\n");<br />
        else<br />
          if ((ficherox = fopen ("productosx.txt", "w")) == NULL)<br />
            printf ("\nERROR: No es posible abrir el fichero de salida.\n");<br />
          else<br />
          {<br />
            fread (&#38;prod, sizeof(prod), 1, fichero);<br />
            while (!feof(fichero)) {<br />
              if (newpro.codigo == prod.codigo)<br />
                fwrite(&#38;newpro, sizeof(prod), 1, ficherox);<br />
              else<br />
                fwrite(&#38;prod, sizeof(prod), 1, ficherox);<br />
              fread (&#38;prod, sizeof(prod), 1, fichero);<br />
            }<br />
            fclose (fichero);<br />
            fclose (ficherox);<br />
            remove("productos.txt");<br />
            rename("productosx.txt", "productos.txt");<br />
		  }<br />
     } // fin de if encontrado<br />
     else {<br />
          printf("Producto no Encontrado");<br />
     }<br />
     printf("\n\n");</p>
<p>}</p>
<p>//eliminar un producto<br />
void eliminarproducto(){</p>
<p>     int codigoBuscado;<br />
     int encontrado = 0;<br />
     struct producto prod;<br />
     FILE *fichero;<br />
     FILE *ficherox;</p>
<p>     printf("Eliminacion de Datos del producto.\n\n");</p>
<p>     printf("Ingrese el codigo del producto a eliminar: ");<br />
     scanf("%d", &#38;codigoBuscado);</p>
<p>     if ((fichero = fopen("productos.txt", "r")) == NULL) {<br />
          printf ( "No existen producto.\n " );</p>
<p>     }<br />
     else {<br />
          fread (&#38;prod, sizeof(prod), 1, fichero);<br />
          while (!feof(fichero) &#38;&#38; (encontrado != 1)) {<br />
                if (codigoBuscado == prod.codigo)<br />
                   encontrado = 1;<br />
                fread (&#38;prod, sizeof(prod), 1, fichero);<br />
          }<br />
     }</p>
<p>     fclose (fichero);</p>
<p>     if (encontrado == 1) {</p>
<p>        if ((fichero = fopen ("productos.txt", "r")) == NULL)<br />
          printf ("\nERROR: No es posible abrir el fichero de entrada.\n");<br />
        else<br />
          if ((ficherox = fopen ("productosx.txt", "w")) == NULL)<br />
            printf ("\nERROR: No es posible abrir el fichero de salida.\n");<br />
          else<br />
          {<br />
            fread (&#38;prod, sizeof(prod), 1, fichero);<br />
            while (!feof(fichero)) {<br />
              if (!(codigoBuscado == prod.codigo))<br />
                fwrite(&#38;prod, sizeof(prod), 1, ficherox);<br />
              fread (&#38;prod, sizeof(prod), 1, fichero);<br />
            }<br />
            fclose (fichero);<br />
            fclose (ficherox);<br />
            remove("productos.txt");<br />
            rename("productosx.txt", "productos.txt");<br />
            printf("producto eliminado");<br />
		  }<br />
     }<br />
     else {<br />
	  printf("producto no Encontrado");<br />
     }<br />
     printf("\n\n");</p>
<p>}
</p></description>
		</item>
		<item>
			<title>jeremias10 on "MANEJO DE ARCHIVOS EN C"</title>
			<link>http://www.dudasprogramacion.com/topic/manejo-de-archivos-en-c-1/page/2#post-450</link>
			<pubDate>Mon, 24 May 2010 16:19:13 +0000</pubDate>
			<dc:creator>jeremias10</dc:creator>
			<guid isPermaLink="false">450@http://www.dudasprogramacion.com/</guid>
			<description><p>hasta el momento ya me ingresa datos en mi &#34;disco c&#34;, el error q tengo ahora es q la ora de modificar archivos me da un error y no lo encuentro me podrias decir donde esta el error, si fueras tam amable de corregirme pero con mi codigo q llevo asta el momento, es q no m quiero perder de donde voy, ya vi tus codigos y si estan bien, y me doy cuenta q cada persona programa diferente, espero q me ayudes</p>
<p>este mi codigo actual:</p>
<p>#include&#60;stdio.h&#62;<br />
#include&#60;conio.h&#62;<br />
#include&#60;iostream.h&#62;</p>
<p>struct {<br />
	char nombre[25];<br />
	int codigo;<br />
	float precio;<br />
	}electric;</p>
<p>//prototipos<br />
void menu();<br />
void ingresarproduct();<br />
void modificarproduct();<br />
void eliminarproduct();<br />
void verproduct();</p>
<p>void imprimirproduct();</p>
<p>//funcion principal</p>
<p>int main()<br />
{<br />
  int op;<br />
  int salir=0;</p>
<p>  while (salir !=1)<br />
  {<br />
   menu();<br />
   scanf(&#34;%d&#34;,&#38;op);</p>
<p>   switch(op)<br />
   {<br />
    case 0:<br />
      salir = 1;<br />
      break;</p>
<p>    case 1:<br />
      clrscr();<br />
      ingresarproduct();<br />
      break;</p>
<p>    case 2:<br />
      clrscr();<br />
      modificarproduct();<br />
      break;</p>
<p>   case 3:<br />
     clrscr();<br />
     eliminarproduct();<br />
     break;</p>
<p>  case 4:<br />
    clrscr();<br />
    verproduct();<br />
    break;</p>
<p>  case 5:<br />
    clrscr();<br />
    imprimirproduct();<br />
    break;</p>
<p>    }// final del switch</p>
<p>  }// fin del while</p>
<p>  printf(&#34;\n\n&#34;);<br />
  return 0;<br />
}//fin del menu principal</p>
<p>//MENU</p>
<p>void menu()<br />
{<br />
 printf(&#34;\n                  ejercicio de ARCHIVOS               &#34;);<br />
 printf(&#34;\n          seleccione la operacion q desea realizar    \n&#34;);<br />
 printf(&#34;\n   1  -&#62; ingresar producto&#34;);<br />
 printf(&#34;\n   2  -&#62; modificar producto&#34;);<br />
 printf(&#34;\n   3  -&#62; eliminar producto&#34;);<br />
 printf(&#34;\n   4  -&#62; ver producto&#34;);<br />
 printf(&#34;\n   5  -&#62; imprimir en impresora&#34;);<br />
 printf(&#34;\n   0  -&#62; salir&#34;);<br />
 printf(&#34;\n op&#34;);</p>
<p> }// fin el switch</p>
<p> void ingresarproduct()<br />
 {<br />
  FILE *fichero;</p>
<p>  cout&#60;&#60;&#34;\n ingrese el nombre del producto:&#34;&#60;&#60;endl;<br />
  cin&#62;&#62;electric.nombre;</p>
<p>  cout&#60;&#60;&#34;\n ingrese el codigo del producto:&#34;&#60;&#60;endl;<br />
  cin&#62;&#62;electric.codigo;</p>
<p>  cout&#60;&#60;&#34;\n ingrese el precio del producto&#34;&#60;&#60;endl;<br />
  cin&#62;&#62;electric.precio;</p>
<p>  if ((fichero = fopen(&#34;casa.txt&#34;,&#34;a&#34;)) == NULL) {<br />
      printf(&#34;error el archivo no existe&#34;);<br />
     }</p>
<p>  else {<br />
  fwrite (&#38;electric, sizeof(electric),1,fichero);<br />
  printf(&#34;\n producto agregado exitosamente&#34;);<br />
  fclose (fichero);<br />
  }</p>
<p> printf(&#34;\n\n&#34;);</p>
<p>}</p>
<p>void modificarproduct()<br />
{<br />
int codigobuscado;<br />
int encontrado=0;<br />
struct electric newproduct;</p>
<p>FILE *fichero;<br />
FILE *ficherox;</p>
<p>cout&#60;&#60;&#34;ingrese el codigo a modificar&#34;;<br />
cin&#62;&#62;codigobuscado;</p>
<p>if((fichero = fopen(&#34;casa.txt&#34;,&#34;r&#34;)) == NULL){<br />
printf(&#34;\n no existe el producto&#34;);<br />
}<br />
else {<br />
 fread (&#38;electric,sizeof(electric),1,fichero);<br />
 while (!feof(fichero) &#38;&#38; (encontrado !=1)){<br />
 if (codigobuscado == electric.codigo)<br />
 encontrado=1;<br />
 fread (&#38;electric, sizeof(electric),1,fichero);<br />
 }<br />
}<br />
fclose (fichero);</p>
<p>if (encontrado == 1){</p>
<p>newproduct.codigo = codigobuscado;</p>
<p>cout&#60;&#60;&#34;ingrese el nombre del producto:&#34;&#60;&#60;endl;<br />
cin&#62;&#62;newproduct.nombre;</p>
<p>cout&#60;&#60;&#34;ingrese el precion:&#34;&#60;&#60;endl;<br />
cin&#62;&#62;newproduct.precio;</p>
<p>if ((fichero =fopen(&#34;casa.txt&#34;,&#34;r&#34;))==NULL)<br />
printf(&#34;error no existe&#34;);</p>
<p>else<br />
{<br />
  fread(&#38;casa, sizeof(casa),1,fichero);<br />
  while (!feof(fichero)){<br />
  else<br />
  fwrite(&#38;newproduct, sizeof(casa),1,ficherox);<br />
   fread (&#38;casa, sizeof(casa),1,fichero)<br />
   }<br />
   fclose (fichero);<br />
   fclose (ficherox);<br />
   remove(&#34;casa.txt&#34;);<br />
   rename(&#34;casax.txt&#34;,&#34;casa.txt&#34;);<br />
   }<br />
  }<br />
  else {<br />
  printf(&#34;producto no encontrado&#34;);<br />
  }</p>
<p>  printf(&#34;\n\n&#34;);<br />
}</p>
<p>void eliminarproduct()<br />
{<br />
}<br />
void verproduct()<br />
{<br />
}</p>
<p>void imprimirproduct()<br />
{<br />
}
</p></description>
		</item>
		<item>
			<title>fiurer87 on "MANEJO DE ARCHIVOS EN C"</title>
			<link>http://www.dudasprogramacion.com/topic/manejo-de-archivos-en-c#post-449</link>
			<pubDate>Mon, 24 May 2010 14:21:23 +0000</pubDate>
			<dc:creator>fiurer87</dc:creator>
			<guid isPermaLink="false">449@http://www.dudasprogramacion.com/</guid>
			<description><p>Una sugerencia:</p>
<p>En vez de usar .txt, puedes usar la extension .csv (Commit Separated Values), la cual puede ser leida por Exel, y programas similares como si de una tabla se tratara, lo que debes almacenar debe ser de la siguiente manera:</p>
<p>Plancha, 1115, 15.25<br />
Cocina, 1001, 1025.35</p>
<p>Y eso sera una tabla cuando lo abras con EXEL u otro software similar.</p>
<p>De todas forma (jeremias te envio el codigo + una imagen de muestra a tu mail).</p>
<p>Atte:<br />
Roberto
</p></description>
		</item>
		<item>
			<title>fiurer87 on "MANEJO DE ARCHIVOS EN C"</title>
			<link>http://www.dudasprogramacion.com/topic/manejo-de-archivos-en-c-1/page/2#post-447</link>
			<pubDate>Mon, 24 May 2010 13:46:48 +0000</pubDate>
			<dc:creator>fiurer87</dc:creator>
			<guid isPermaLink="false">447@http://www.dudasprogramacion.com/</guid>
			<description><p>Hola Jeremias,</p>
<p>En base a tu codigo, mando la solucion, implemente ademas el lector de la Base De Datos, y usa fichero tipo .txt.</p>
<p>Que falta? pues control de excepciones como ser: que pasara si el sistema me pide un entero y yo le paso un caracter?, bueno esos detalles, espero te guste la solucion.</p>
<p>Nota: A mi me funciona y no me muestra nada de signos.<br />
Creo que con esto termino mi participacion en ese hilo :&#124;<br />
===========================================================<br />
#include &#60;stdio.h&#62;<br />
#include &#60;stdlib.h&#62;</p>
<p>struct articulo{<br />
char nombre[50];<br />
int codigo;<br />
float precio;<br />
};</p>
<p>char* enteroAcadena(int val, int base){<br />
static char buf[32] = {0};<br />
int i = 30;<br />
for(; val &#38;&#38; i ; --i, val /= base)<br />
buf[i] = &#34;0123456789abcdef&#34;[val % base];<br />
return &#38;buf[i+1];<br />
}</p>
<p>void mostrarDatos(struct articulo a){<br />
printf(&#34;DETALLE ARTICULO: \n&#34;);<br />
printf(&#34;Nombre: %s\n&#34;,a.nombre);<br />
printf(&#34;Codigo: %d\n&#34;,a.codigo);<br />
printf(&#34;Precio: %.2f\n&#34;, a.precio);<br />
}</p>
<p>void guardarDatos(struct articulo a){<br />
FILE *auxf = fopen(&#34;baseDeDatos.txt&#34;,&#34;a&#34;);<br />
fputs(a.nombre, auxf);<br />
fputs(&#34; &#34;, auxf);<br />
fputs(enteroAcadena(a.codigo,10),auxf);<br />
fputs(&#34; &#34;, auxf);<br />
char aux[50];<br />
sprintf(aux,&#34;%.2f&#34;,a.precio);<br />
fputs(aux, auxf);<br />
fputs(&#34;\n&#34;, auxf);<br />
printf(&#34;Guardado Correctamente :) \n&#34;);<br />
fclose(auxf);<br />
}</p>
<p>struct articulo leerArticulo(){<br />
struct articulo algo;<br />
printf(&#34;\nNombre: &#34;);<br />
scanf(&#34;%s&#34;, (char*)&#38;algo.nombre);<br />
printf(&#34;\nCodigo: &#34;);<br />
scanf(&#34;%d&#34;,&#38;algo.codigo);<br />
printf(&#34;\nPrecio: &#34;);<br />
scanf(&#34;%f&#34;,&#38;algo.precio);<br />
return algo;<br />
}</p>
<p>int menu(){<br />
//system(&#34;clear&#34;); //linux<br />
clrscr(); //windows<br />
printf(&#34;========================\n&#34;);<br />
printf(&#34;1. Ingresar Producto.\n&#34;);<br />
printf(&#34;2. Leer Lista.\n&#34;);<br />
printf(&#34;3. Salir.\n&#34;);<br />
printf(&#34;========================\n&#34;);<br />
printf(&#34;Ingrese su opcion[1/2/3]_ &#34;);<br />
int opcion;<br />
scanf(&#34;%d&#34;,&#38;opcion);<br />
return opcion;<br />
}</p>
<p>void leerBaseDeDatos(){<br />
FILE *aux;<br />
if((aux = fopen(&#34;baseDeDatos.txt&#34;,&#34;r&#34;)) == NULL){<br />
//me salgo sin hacer nada :) si no existe BD<br />
return;<br />
}<br />
char cadena[80];<br />
fgets(cadena,60,aux);<br />
do{<br />
printf(&#34;%s\n&#34;,cadena);<br />
}while(fgets(cadena,80,aux)!=NULL);<br />
int uno;<br />
printf(&#34;\nPresione 1 y luego Enter para volver al menu.&#34;);<br />
scanf(&#34;%d&#34;, &#38;uno);<br />
fclose(aux);<br />
}</p>
<p>void acciones(int opcion){<br />
//system(&#34;clear&#34;); //linux<br />
clrscr(); //windows<br />
struct articulo nuevo;<br />
switch(opcion){<br />
case 1: nuevo = leerArticulo();<br />
guardarDatos(nuevo);<br />
break;<br />
case 2: leerBaseDeDatos(); break;<br />
case 3: exit(0); break;<br />
default: break;<br />
}<br />
}</p>
<p>int main(){<br />
int bandera;<br />
while(1){<br />
bandera = menu();<br />
acciones(bandera);<br />
}<br />
return 0;<br />
}<br />
================================================</p>
<p>Espero te sirva.</p>
<p>Atte: Roberto
</p></description>
		</item>
		<item>
			<title>fiurer87 on "MANEJO DE ARCHIVOS EN C"</title>
			<link>http://www.dudasprogramacion.com/topic/manejo-de-archivos-en-c-1/page/2#post-443</link>
			<pubDate>Sun, 23 May 2010 22:47:20 +0000</pubDate>
			<dc:creator>fiurer87</dc:creator>
			<guid isPermaLink="false">443@http://www.dudasprogramacion.com/</guid>
			<description><p>La mejora y solucion a tu codigo ya lo publique en otro hilo, revisa la pagina principal, lo hice alli por que este hilo ya esta de buen tamanio.</p>
<p>Saludos.</p>
<p>Espero ganarme algunos puntos con esta solucion, haber si me sumas...
</p></description>
		</item>
		<item>
			<title>jeremias10 on "MANEJO DE ARCHIVOS EN C"</title>
			<link>http://www.dudasprogramacion.com/topic/manejo-de-archivos-en-c-1/page/2#post-439</link>
			<pubDate>Sun, 23 May 2010 19:29:10 +0000</pubDate>
			<dc:creator>jeremias10</dc:creator>
			<guid isPermaLink="false">439@http://www.dudasprogramacion.com/</guid>
			<description><p>mira mi codigo pero a la hora de ver los datos donde apunto no tengo nada, y me da un error a la ora de ponerle el nombre del producto, solo me da el codigo y el precio<br />
cuando me voy a mi disco c y busco el archivo chiri no tengo los datos q ingrese anteriormente, xq sera, si ya probe con &#34;w,a,w+,a+,&#34; y nada q ver, me guie segun loq me diste arriba, espero tu ayuda gracias:</p>
<p>este es mi codigo q llevo ahorita:</p>
<p>#include&#60;stdio.h&#62;<br />
#include&#60;conio.h&#62;</p>
<p>struct {<br />
	char nombre[25];<br />
	int codigo;<br />
	float precio;<br />
	}electric;</p>
<p>//prototipos<br />
void menu();<br />
void ingresarproduct();</p>
<p>//funcion principal</p>
<p>int main()<br />
{<br />
  int op;<br />
  int salir=0;</p>
<p>  while (salir !=1)<br />
  {<br />
   menu();<br />
   scanf(&#34;%d&#34;,&#38;op);</p>
<p>   switch(op)<br />
   {<br />
    case 0:<br />
      salir = 1;<br />
      break;</p>
<p>    case 1:<br />
      clrscr();<br />
      ingresarproduct();<br />
      break;</p>
<p>    }// final del switch</p>
<p>  }// fin del while</p>
<p>  printf(&#34;\n\n&#34;);<br />
  return 0;<br />
}//fin del menu principal</p>
<p>//MENU</p>
<p>void menu()<br />
{<br />
 printf(&#34;\n                  ejercicio de ARCHIVOS               &#34;);<br />
 printf(&#34;\n          seleccione la operacion q desea realizar    \n&#34;);<br />
 printf(&#34;\n   1  -&#62; ingresar producto&#34;);</p>
<p> printf(&#34;\n   0  -&#62; salir&#34;);<br />
 printf(&#34;\n op&#34;);</p>
<p> }// fin el switch</p>
<p> void ingresarproduct()<br />
 {<br />
  FILE *fichero;</p>
<p>  printf(&#34;\n ingrese el nombre del producto&#34;);<br />
  gets(electric.nombre);</p>
<p>  printf(&#34;\n ingrese el codigo del producto&#34;);<br />
  scanf(&#34;%d&#34;,electric.codigo);</p>
<p>  printf(&#34;\n ingrese el precio del producto&#34;);<br />
  scanf(&#34;%f&#34;,electric.precio);</p>
<p>  if ((fichero = fopen(&#34;chiri.txt&#34;,&#34;a&#34;)) == NULL) {<br />
      printf(&#34;error el archivo no existe&#34;);<br />
     }</p>
<p>  else {<br />
  fwrite (&#38;electric, sizeof(electric),1,fichero);<br />
  printf(&#34;\n producto agregado exitosamente&#34;);<br />
  fclose (fichero);<br />
  }</p>
<p> printf(&#34;\n\n&#34;);<br />
}
</p></description>
		</item>
		<item>
			<title>fiurer87 on "MANEJO DE ARCHIVOS EN C"</title>
			<link>http://www.dudasprogramacion.com/topic/manejo-de-archivos-en-c-1/page/2#post-438</link>
			<pubDate>Sun, 23 May 2010 19:17:03 +0000</pubDate>
			<dc:creator>fiurer87</dc:creator>
			<guid isPermaLink="false">438@http://www.dudasprogramacion.com/</guid>
			<description><p>En realidad y en resumen, tu aplicacion puede generar cualquier extension que tu desees para manejar archivos de texto: .dat, .algo, . nombre, lo que deses al final lo que importa es el contenido que tiene a nivel de bytes.</p>
<p>API de Windows, (solo uso LINUX :P asi que no puedo aportar efectivamente con eso).</p>
<p>Explicacion de ab, wb ... etc.</p>
<p>Son modos de apertura de archivos, a continuacion te los detallo.</p>
<p>&#34;r&#34; Abre un archivo de texto para lectura.<br />
&#34;w&#34; Crea un archivo de texto para escritura.<br />
&#34;a&#34; Abre un archivo de texto para añadir<br />
&#34;rb&#34; Abre un archivo binario para lectura.<br />
&#34;wb&#34; Crea un archivo binario para escritura.<br />
&#34;ab&#34; Abre un archivo binario para añadir.<br />
&#34;r+&#34; Abre un archivo de texto para lectura/escritura.<br />
&#34;w+&#34; Crea un archivo de texto para lectura/escritura.<br />
&#34;a+&#34; Abre o crea un archivo de texto para lectura/escritura.<br />
&#34;rb+&#34; Abre un archivo binario para lectura/escritura.<br />
&#34;wb+&#34; Crea un archivo binario para lectura/escritura.<br />
&#34;ab+&#34; Abre o crea un archivo binario para lectura/escritura.<br />
&#34;rt&#34; Abre un archivo de texto para lectura.<br />
&#34;wt&#34; Crea un archivo de texto para escritura.<br />
&#34;at&#34; Abre un archivo de texto para abrir.<br />
&#34;r+t&#34; Abre un archivo de texto para lectura/escritura.<br />
&#34;w+t&#34; Crea un archivo de texto para lectura/escritura.<br />
&#34;a+t&#34; Abre o crea un archivo de texto para lectura/escritura.</p>
<p>ahora con estos datos seguro sabras cual usar segun lo que estas trabajando.</p>
<p>Espero te sirva
</p></description>
		</item>
		<item>
			<title>jeremias10 on "MANEJO DE ARCHIVOS EN C"</title>
			<link>http://www.dudasprogramacion.com/topic/manejo-de-archivos-en-c-1/page/2#post-437</link>
			<pubDate>Sun, 23 May 2010 17:58:44 +0000</pubDate>
			<dc:creator>jeremias10</dc:creator>
			<guid isPermaLink="false">437@http://www.dudasprogramacion.com/</guid>
			<description><p>hola el inge q nos da clases nos dijo q &#34;.dat&#34; era un archivo el cual no ponidiamos  abrir, voy a intentar ingresarle a mi programon &#34;w+&#34; a ver q pasa, ahora nos dejo un porgrama para q  tenga q;<br />
INGRESAR<br />
MODIFICICAR/actualizar<br />
ver<br />
eliminar<br />
print //imprimir con el API DE WINDOWS</p>
<p>me podrian decir q letra uso en cada uno de ellos es q me confunde un poco,lo q pasa es q e visto otros progrmas donde utilizan dos letras ejemplo;&#34;ab&#34;,&#34;wb&#34;, y me explicaran xq en esos programas utilizan eso</p>
<p>grcias
</p></description>
		</item>
		<item>
			<title>fiurer87 on "MANEJO DE ARCHIVOS EN C"</title>
			<link>http://www.dudasprogramacion.com/topic/manejo-de-archivos-en-c-1/page/2#post-436</link>
			<pubDate>Fri, 21 May 2010 19:44:54 +0000</pubDate>
			<dc:creator>fiurer87</dc:creator>
			<guid isPermaLink="false">436@http://www.dudasprogramacion.com/</guid>
			<description><p>y para leer intenta con r+. ejemplo:</p>
<p>fichero = fopen(&#34;pacientes.dat&#34;,&#34;r+&#34;);
</p></description>
		</item>
		<item>
			<title>fiurer87 on "MANEJO DE ARCHIVOS EN C"</title>
			<link>http://www.dudasprogramacion.com/topic/manejo-de-archivos-en-c-1/page/2#post-435</link>
			<pubDate>Fri, 21 May 2010 19:40:35 +0000</pubDate>
			<dc:creator>fiurer87</dc:creator>
			<guid isPermaLink="false">435@http://www.dudasprogramacion.com/</guid>
			<description><p>correccion de codigo que pusiste:</p>
<p>if ((fichero = fopen(&#34;pacientes.dat&#34;, &#34;w+&#34;)) == NULL) { //intenta con w+  y con tipo dat<br />
printf (&#34;Error en apertura del fichero para escritura\n&#34;);<br />
}<br />
else {<br />
//guardamos los datos en el fichero<br />
fwrite(&#38;paciente, sizeof(paciente), 1, fichero);<br />
printf(&#34;\nPaciente agreado.&#34;);<br />
fclose (fichero); //cierra en cuanto agrega un solo paciente<br />
}
</p></description>
		</item>
		<item>
			<title>jeremias10 on "MANEJO DE ARCHIVOS EN C"</title>
			<link>http://www.dudasprogramacion.com/topic/manejo-de-archivos-en-c-1/page/2#post-434</link>
			<pubDate>Fri, 21 May 2010 17:18:04 +0000</pubDate>
			<dc:creator>jeremias10</dc:creator>
			<guid isPermaLink="false">434@http://www.dudasprogramacion.com/</guid>
			<description><p>en el programa q coloque arriba el grande le coloque .txt, .docx. y .dat y me dio igual un monto de signos raros q nada q ver, quisiera q me ayudaras con ese ejemplo q te coloque en el foro, talves sera mucho lo q pido pero me podrian decir donde tego los errores y xq no me da como yo lo quiero, y si m lo pudieran arreglar c los agradecira si no es mucho pedir</p>
<p>gracias
</p></description>
		</item>
		<item>
			<title>fiurer87 on "MANEJO DE ARCHIVOS EN C"</title>
			<link>http://www.dudasprogramacion.com/topic/manejo-de-archivos-en-c-1/page/2#post-432</link>
			<pubDate>Fri, 21 May 2010 12:31:42 +0000</pubDate>
			<dc:creator>fiurer87</dc:creator>
			<guid isPermaLink="false">432@http://www.dudasprogramacion.com/</guid>
			<description><p>ERROR:  .docx no es un archivo de texto plano.</p>
<p>Si abres un fichero .docx es lo mismo que intentar abrir un fichero de tipo .rar o .zip.</p>
<p>Word tiene su propio descomprensor, lo unico que puedes usar en C++ es texto plano.</p>
<p>Un ejemplo: intenta abrir un docx con bloc de notas y vera que pasa.</p>
<p>Atte: Roberto.
</p></description>
		</item>

	</channel>
</rss>

