Página 1 de 1

Ayuda con manipulacion binaria de ficheros (C)

Publicado: 05 Jul 2012, 23:04
por Jano47
Hola a todos,
necesito abrir un archivo de forma binaria para almacenarlo en una variable, para poder encriptarla luego, pero despues del fopen(ruta,"rb") no tengo ni idea de como avanzar.
mi algoritmo de encriptacion recibe los datos como unsigned char data[] pero no se que tipo de variable tengo que asignar a la variable FILE* con mi archivo binario, ni si tengo que modificar el algoritmo para que reciba otro tipo.
Espero haberme explicado, si alguien me pudiera ayudar le estaria agradecido.

Gracias!!

Re: Ayuda con manipulacion binaria de ficheros (C)

Publicado: 06 Jul 2012, 01:43
por adwind
Jano47 escribió:Hola a todos,
necesito abrir un archivo de forma binaria para almacenarlo en una variable, para poder encriptarla luego, pero despues del fopen(ruta,"rb") no tengo ni idea de como avanzar.
mi algoritmo de encriptacion recibe los datos como unsigned char data[] pero no se que tipo de variable tengo que asignar a la variable FILE* con mi archivo binario, ni si tengo que modificar el algoritmo para que reciba otro tipo.
Espero haberme explicado, si alguien me pudiera ayudar le estaria agradecido.

Gracias!!
Ya hablas de encriptar un archivo y no sabes ni abrirlo ni leerlo? vas muy rapido amigo :). Tarnquilo inicia desde lo basico

Re: Ayuda con manipulacion binaria de ficheros (C)

Publicado: 09 Jul 2012, 00:20
por Jano47
Ya hablas de encriptar un archivo y no sabes ni abrirlo ni leerlo? vas muy rapido amigo :). Tarnquilo inicia desde lo basico
programo en profundidad en C desde hace muchos años, se practicamente toda la teoria pero en la carrera nunca he codeado programas de este campo.
perdon si no me explique bien, se abrir y leer cualquier archivo perfectamente y ya tengo programada la encriptacion. mis dudas son que no se como asignar un fichero binario a una variable, ni de que tipo tiene que ser esta variable, ni si puedo pasarle cualquier tipo a mi funcion o solo un char[] que es lo que recibe como argumento.
un saludo.

Re: Ayuda con manipulacion binaria de ficheros (C)

Publicado: 09 Jul 2012, 03:09
por osnaraus
1 Opcion :

Código: Seleccionar todo

#include <stdio.h>
#include <windows.h>

int main()
{

FILE *fp;
char NombreArchivo[MAX_PATH];
unsigned char *todo;
long tamanio;
long leidos;

printf ("ingrese nombre de archivo");
gets(NombreArchivo);
errno_t err;

   
   
if (err= fopen_s (&fp,NombreArchivo,"rb")!=0)
{
	printf ("\n no existe el archivo");
	getchar();getchar();
	return -1;
}

fseek (fp, 0, SEEK_END);
tamanio=ftell (fp);
rewind (fp);
todo = new unsigned char[tamanio]; // o usá malloc
leidos = fread(todo, 1, tamanio, fp);

if (leidos == tamanio)
printf ("ok");
else
("error");
getchar();getchar();

}
2da Opcion :

Código: Seleccionar todo

HANDLE hFile = CreateFile(NombreArchivo, GENERIC_READ, 0, NULL, OPEN_EXISTING, 0, NULL);
DWORD tamanio;
tamanio = GetFileSize(hFile, NULL);
	
LPBYTE lpFileBuffer = (LPBYTE)realloc(lpFileBuffer, tamanio);

DWORD dwBytesRead;
ReadFile(hFile, lpFileBuffer, tamanio, &dwBytesRead, NULL);
CloseHandle(hFile);

Re: Ayuda con manipulacion binaria de ficheros (C)

Publicado: 09 Jul 2012, 17:43
por The Swash
Hola,

Te convendría algo te teoría:
[Enlace externo eliminado para invitados]

Un saludo,
Iván Portilla.