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

¡¡¡socorro!!!

Estas en el tema de ¡¡¡socorro!!! en el foro de C/C++ en Foros del Web. tengo un archivo de texto llamado asd.txt, y tengo el siguiente codigo: int main() { unsigned char buffer[2048]; FILE *fs=fopen("asd.txt", "wb"); fwrite(buffer, 1, 100, fs); ...
  #1 (permalink)  
Antiguo 17/01/2011, 15:47
 
Fecha de Ingreso: septiembre-2010
Mensajes: 137
Antigüedad: 13 años, 8 meses
Puntos: 0
¡¡¡socorro!!!

tengo un archivo de texto llamado asd.txt, y tengo el siguiente codigo:

int main()
{
unsigned char buffer[2048];
FILE *fs=fopen("asd.txt", "wb");
fwrite(buffer, 1, 100, fs);
fclose(fs);
return 0;
}

Cuando ejecuto este programa y abro el asd. txt me aparece el siguiente texto:
Cita:
 ¤¥¦§¨©ª«
¢ö\ àýö\ùþ ¢ö\•Ì’|$!5 €ö\ !5 0 ÂÍ’|øëý  ö\
Yo creia que si ponia 100, en el txt me iva a aparecer el caracter numero 100 que es la letra "d"
  #2 (permalink)  
Antiguo 18/01/2011, 06:22
poi
 
Fecha de Ingreso: octubre-2008
Mensajes: 73
Antigüedad: 15 años, 7 meses
Puntos: 2
Busqueda Respuesta: ¡¡¡socorro!!!

Buenas.
Lo que estas haciendo es escribir en el fichero lo que apunta el puntero buffer, que en tu caso como no lo has inicializado solo tiene basura.
El 100 que tu dices son el numero de elementos que quieres imprimir en el fichero.
Y el 1 es el tamaño de cada elemento, en este caso seria sizeof(char), pues buffer es de tipo char.

Por ejemplo para que solo se imprimiese una 'd' seria:
Código C:
Ver original
  1. int main()
  2. {
  3. unsigned char buffer[2048];
  4. *buffer = 'd';
  5. FILE *fs=fopen("asd.txt", "wb");
  6. fwrite(buffer, sizeof(char), 1, fs);
  7. fclose(fs);
  8. return 0;
  9. }
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 20:05.