• Martes 12 de Noviembre de 2024, 21:18

Mostrar Mensajes

Esta sección te permite ver todos los posts escritos por este usuario. Ten en cuenta que sólo puedes ver los posts escritos en zonas a las que tienes acceso en este momento.


Mensajes - luchot

Páginas: [1]
1
C/C++ / Re: Archivo Binario Como Secuencial? :s
« en: Viernes 17 de Junio de 2005, 16:46 »
Claro como el agua, ahora si me queda clara la diferencia entre un secuencial y un binario (aunque convengamos que en windows no es igual, he programado durante años en windows y tengo algunos conceptos incorpodaros :P)

Voy a hacer un par de funcioncitas de encripción y desencripción, queria evitarme ese trabajo, y pensé que ya habia algun metodo implementado (los datos son mixtos)

Gracias JuanK!

Luchot

2
C/C++ / Re: Archivo Binario Como Secuencial? :s
« en: Jueves 16 de Junio de 2005, 17:40 »
hola JuanK,

Gracias por tu respuesta, pero sinceramente no he comprendio lo que intentas explicar...puntualmente lo que necesito es trabajar con ficheros binarios en los cuales almaceno y leo Datos por cada linea (ya tengo las funciones de validación de entrada y tal hechas) pero que sus datos no sean "legibles", o sea, que sea un fichero binario, en donde su contenido solo pueda ser leído desde el programa y no de forma directa por un usuario común.

Espero que se entienda mi consulta,

Muchas gracias nuevamente;

Luchot

3
C/C++ / Archivo Binario Como Secuencial? :s
« en: Jueves 16 de Junio de 2005, 17:20 »
Buenos dias,

Tengo una duda con respecto a este tema, resulta que creo un fichero en modo binario y luego le agrego una linea, pero luego de crearlo puedo ver su contenido con el comando "cat" desde un shell cualquiera (trabajo sobre linux). Alquien tiene idea de porqué pasa esto?

Aquí está el codigo que estoy utilizando:

Citar
void crearArchivos(){
     FILE *fichero;
         
     fichero  = fopen("file.dat","r+b");
     
     // SI EL FICHERO NO EXISTE LO CREA
     if(!fichero) {
        fichero = fopen("file.dat","wb");
        fseek(fichero, 0, SEEK_END);
        // ESCRIBO CADENA DIRECTA " "
        fwrite("cualquier\n", sizeof(char [10]), 1, fichero);

        // ESCRIBO VARIABLE TIPO CHAR
        char cadena[10]="132456789\n";
        fwrite(&cadena, sizeof(char [10]), 1, fichero);
     }
     
     // CIERRA EL FICHERO
     fclose(fichero);
}

Luego de salir del programa ejecuto el comando "cat" y esta es la salida:

Citar
[root@server practica]# cat file.dat
cualquier
132456789

Por lo que el archivo no presenta ninguna diferencia con un archivo secuencial común....Alguna sugerencia?

Muchas gracias a todos;

Luchot

4
C/C++ / Re: Validación De Ip Ingresada Por Usuario
« en: Martes 14 de Junio de 2005, 19:35 »
Excelente fuhrer! ha funcionado a la perfección, muchas gracias!

Tienes razón, me estaba complicando por demas, no me quedaba clara la división en cadenas para luego convertirla en número entero :P

Nuevamente gracias por tu ayuda, saludos;

Luchot

5
C/C++ / Validación De Ip Ingresada Por Usuario
« en: Martes 14 de Junio de 2005, 18:01 »
hola  a todos,

Estoy haciendo un programa en C que debe manejar nros de IP para luego gestionar un firewall con el modulo net_filter del kernel de Linux. Dado que necesito que el mismo sea performante, debo de hacerlo en c para gestionar el uso de memoria y tal.

El problema que tengo es sinceramente muy básico, pero no logro descifrar donde esta el problema....una de las validaciones que debo hacer es la siguiente:

Formato IP válido: n1.n2.n3.n4

Ejemplos: 192.168.0.101, 255.255.255.0, 66.98.151.220, 0.0.0.0, etc


Donde "n1, n2, n3, n4" deben ser menor  o igual a 255 (n<=255)

El problema es que el Nro de IP se ingresa por teclado lo almaceno en un array de tipo char, en este caso nuevaIP[15] (16 espacios: 12 para posibles nros, 3 caracteres punto "." y el final de cadena '\n')

He hecho un bucle for donde pregunto por el caracter "." sino lo encuentro debo de almacenar en una variable el primer nro, y asi consecutivamente.

Un ejemplo suponiendo que la cadena ingresada sea "192.98.151.220"

Citar
i=0;
char aux;
char trio[3];
while (nuevaIP != '\n') {
       charter = ("%c", nuevaIP);
       aux= ("%c", nuevaIP);
        if (charter != 46) {
       // aux se carga con "1", "9", y "2" antes de encontrar un punto en la cadena
         aux = ("%c", aux);
                // esto me da error, y si uso "atoi" tambien y sino me carga el ascii :(
   trio = aux;
        }else{
                 //se encontro un punto, trio debe de contener "192"

                //se encontro un punto debo inicializar trio[] a cero,  para
                // seguir evaluando el segundo grupo de nros.      
        }
        i++;
}
En resumen, necesito cargar una variable int ubicada entre los caracteres "." de la cadena, para luego verificar que la misma sea menor a 255.

Alguna idea para solucionar este tema? Desde ya muchas gracias por su interes,

Mis saludos;

luchot-

Páginas: [1]