Foro Oficial De C++

disculpen pero sigo con el problema con el archivo binario en c++ de la agenda
ya vi la paguina 35 me ayudo mucho pero estoy con un problema que mi docente me complico mas es que en los archivos de la paguina 35 no dice en ninguna parte donde lo direccionan el archivo directamente lo llama.

bueno lo que me indico para crear un archivo binario me dio esta indicacion


#include "stream.h"

fstream archi;
classAgenda Ag; // esta es la clase donde almaceno la informacion del archivo
archi.open("C: \ archivoAgenda.bin", ios :: out | ios::noreplace );

archi.write((char *)& Ag,sizeof(Ag));

bueno ese es el inicio pero mi problema esta en la direccion que le doy al archivo en la unidad C seguin la explicacion de mi docente dice que eso lo abre el archivo y si no exite el archivo lo crea pero ya lo prove pero no ase nada no crea ninguan archivo bin.


agradesco su ayuda de ante mano.


Hola, yo soy estudiante de ing de sistemas en tercer semestre apenas y bueno no se manejar mcuho archivos pero la semana pasada me toco hcaer un programa presisamente de eso y puede que no entenida tu problema en realidad pero aqui te dejo algo:

Primero he intentado, en mi programa, guardar el archivo en la unidad C, tal como tu lo tienes y no lo crea no se porque. yo lo creo en la misma carpeta donde tengo el proyecto y esto lo hago sin darle direccion ("archivoagenda.bin") y ya.
Por otro lado si necesitas el archivo en binario tienes que abrirlo en ese modo y para eso le pones asi ("archivoagenda.bin", ios::eek:ut | ios::binary) lo que hace el ios:noreplace es verificar si hay un archivo con ese mismo nombre si no lo hay crea uno.

Te puede servir leer esto ficheros en c y c++
 
naturalmente el archivo no se va a crear a menos que se le ordene...la otra es que hasta donde he podido ver ustedes solo estan poniendole .bin porque si, pero sigue siendo solo texto no bits...la idea de un archivo binario es que pueda reconstruir un tipo de varible(int, long, struct) y no solo texto para evitarse hacer un desbunquer...de texto que es una mamera...bueno como dije eso me parece con el pedacito de codigo que he visto...
 
ayuda

hola LANeros programadores de este excelente lenguaje C++:p...

pues yo hace años que no programo en este lenguaje(2006), ahora mas me dedico a .net con C# y pues todo el ambiente grafico y las facilidades que hay ahora... bueno necesito alguna asesoria para realizar un programa que use la pila, y pues básicamente lo que tiene que hacer es reconocer este tipo de secuencia(es para la materia Complicadores.. ve digo Compiladores):

1^(x+n)*0^(y+m)*c*Bi*c*Zi*c*1^p*0^p*1^(n+m)

y=cantidad de ceros en Bi
x=cantidad de unos en Zi
p,n,m>0
c es una constante

Bi,Zi € {0,1}^+

ya se que aki no se hacen las tareas, pero por lo menos quisiera que me den un poco de ayuda como se manejaba eso del stack, push and pop... gracias..
 
Galgor dijo:
Hola, yo soy estudiante de ing de sistemas en tercer semestre apenas y bueno no se manejar mcuho archivos pero la semana pasada me toco hcaer un programa presisamente de eso y puede que no entenida tu problema en realidad pero aqui te dejo algo:

Primero he intentado, en mi programa, guardar el archivo en la unidad C, tal como tu lo tienes y no lo crea no se porque. yo lo creo en la misma carpeta donde tengo el proyecto y esto lo hago sin darle direccion ("archivoagenda.bin") y ya.
Por otro lado si necesitas el archivo en binario tienes que abrirlo en ese modo y para eso le pones asi ("archivoagenda.bin", ios:ut | ios::binary) lo que hace el ios:noreplace es verificar si hay un archivo con ese mismo nombre si no lo hay crea uno.

Te puede servir leer esto ficheros en c y c++

Pero los archivos que se graban en binario no por la extencion, sino que tu le indicas como se deben de grabar...


MædCo dijo:
hola LANeros programadores de este excelente lenguaje C++...

pues yo hace años que no programo en este lenguaje(2006), ahora mas me dedico a .net con C# y pues todo el ambiente grafico y las facilidades que hay ahora... bueno necesito alguna asesoria para realizar un programa que use la pila, y pues básicamente lo que tiene que hacer es reconocer este tipo de secuencia(es para la materia Complicadores.. ve digo Compiladores):

1^(x+n)*0^(y+m)*c*Bi*c*Zi*c*1^p*0^p*1^(n+m)

y=cantidad de ceros en Bi
x=cantidad de unos en Zi
p,n,m>0
c es una constante

Bi,Zi € {0,1}^+

ya se que aki no se hacen las tareas, pero por lo menos quisiera que me den un poco de ayuda como se manejaba eso del stack, push and pop... gracias..

Ahi no le ayudo porque no entendi :S


SuerTEx :)
 
viejo MædCo hasta donde la cogi lo que queres hacer es un programa que reconosca alguna informacion y la redusca a binario...algo como el glib o el jsbin....?

______________________________________________________________________________________

A proposito ahora que se toca el tema de los compiladores...la base para inventarse un lenguaje es crearle un compilador que redusca la sintaxis a codigo maquina pero eso se me hace redificil en especial porque hay que saber resto de bajo nivel...elguno de casualidad tiene documentacion sobre eso...la verda me suena bastante la idea...jeje...gracias.
 
ayuda en c++...

hey.. hola k tal amigos pss yo soy nuevo por favor tratenme bien.. bueno necesito ayuda URGENTE !!! pues un profesor de la universidadme encargo un programa en c++ 4.5 con el uso de excepciones y en todos programas que he visto siempre me marca el mismo error en la sentencia de try { y es un error de sintaxis pero no c como soluconarlo.. por fa maestros de la programacion necesito su ayuda...
 
jeje, creo que no me he hecho entender, pero tranquilos no es nada complicado.. ya encontre la forma de hacerlo en Windows Formas Applications utilizando la pila...

la idea solo era por ejemplo yo digito esta secuencia:

1111100000c1010c10011c1011111 y doy enter debe decirme OK secuencia correcta

en este caso
y= 2
x=3
p=1
n =2
m=3

Bi y Zi son numeros binarios cualquiera...
 
oigan bros...alguien tiene de casualidad una quia de como hacer librerias...es que programar es una cosa pero hacer las librerias de soporte es muy diferente...por ejemplo io he abierto la conio.h y la iostream.h con block de notas y no he entendido un pepino...parece que fueran tema aparte...la verda me interesa ese tema...pero he encontrado muy poca documentacion al respecto...solo ejemplos pachucos....por eso pregunto.....gracias de antemano.
 
Mire lo que encontre man....



Entonces aclaremos un par de cosas. Una libreria compilada no incluye el .c o .cpp, es un archivo .h y un .o ó .a.

Para crear algo como lo que quieres solo debes crear un archivo .c con las funciones que quieras incluir en tu librería, el .h con las cabeceras o prototipos de las funciones y todas las variables globales de esa librería.

Debes incluir el .h en el .c, es decir el .c quedaría algo así:

PHP:
#include "milibreria.h"

void funcion(int parametro)
{
// definicion ...
}

y el .h:

PHP:
#ifndef _MILIBRERIA_H_
#define _MILIBRERIA_H_

void funcion(int parametro);

#endif

Las directivas que agregué son para evitar errores en caso de que incluyas 2 o más veces la misma cabecera.

Para compilar la librería sería:

Cita:
$ gcc -c milibreria.c -o milibreria.o
Si el .c y el .h están en el mismo dir no hay problemas, pero si están en dir diferentes entonces debes indicarle al compilador en que directorio está con la opción "-I" (sin las comillas).

Luego compilas tu programa e incluyes la/s libreria/s que creaste.

Inclusive fue para linux :p


Y con Dev C++ esta esta forma: Cómo crear y usar una librería estática


SuerteX :)
 
tengo una maquina en windows y quisiera trabajar en linux alguien sabe si las cosas de c cambian en linux, como se compila , instala y eso o es breve como en windows
 
Una pregunta, algo que nunca he hecho en C++.

Como creo librerias DLL??? y que debe contener,, (funciones y subrutinas)???

Y una vez ya creada... como hago para llamarla y usarla en otro programa???

Saludos
 
Una pregunta, algo que nunca he hecho en C++.

Como creo librerias DLL??? y que debe contener,, (funciones y subrutinas)???

Y una vez ya creada... como hago para llamarla y usarla en otro programa???

Saludos


Como creo librerias DLL???
que id utilizas para desarrollar?

y que debe contener,, (funciones y subrutinas)???
las dos si kieres

Y una vez ya creada... como hago para llamarla y usarla en otro programa???
pues...

http://en.wikipedia.org/wiki/Name_mangling

eso depende q id utilizas.
pues en mi caso.. seria algo asi con builder c++
Código:
 HINSTANCE hLib = LoadLibrary("midll.dll");
   if (hLib)
   {
      Suma = reinterpret_cast<pfSuma>(GetProcAddress(hLib,"Suma"));

      if (Suma) ShowMessage(Suma(2,3));
      else ShowMessage("No se pudo acceder a la funcion");

      FreeLibrary(hLib);
   }
   else
   {
      ShowMessage("No se pudo acceder a la DLL");
   }
 
Thx, creo que el codigo que posteas me servira en Dev-C++, Borland C++ y Visual C++ 6,,,, por cierto incluyes alguna libreria???

Saludos.
 
Proyecto Sensores laser

saludos!

estoy buscando a alguien que se le mida a hacer un programita en C++ recibo MPs para saber cuanto me cobrarian. esta es la idea:

acceder a una webcam, driver de windows, mientras se ahce la previsualizacion del video ir haciendo procesamiento de imagenes, el cual es reconocer la posicion de un puntero laser: miren la imagen para que lo entiendan mejor.


el puntero se moveria en esas direcciones, y simplemente es reconocer en que posicion Xy Y de la imagen se encuentra el puntero.

en la imagen se muestran 2 punticos negros que son para la relacion de escalas entre pixeles y centimetros, algo asi como que 20 pixeles equivalen a 2 centimetros

y el hecho es tener un registro en el tiempo de las posiciones Xy Y del punto(puntero laser) en la imagen.

esto ya lo tengo programado en matlab, el problema es que mediante matlab solo alcanzo a registrar 3 datos por segundo, y la idea es tener un registro de al menos 30 datos por segundo es decir iguales a los FPS de la webcam, entonces por ahi he escuchado que programar en c++ daria un sistema mas robusto y rapido que es lo que estoy necesitando

tambien he investigado y existen librerias que hacen esto, o al menos reconocimiento de partes de imagenes, estas librerias son OpenCV y ltiLib que son de procesamiento de imagenes. pero como no tengo idea de programar en C recurro a alguien que lo pueda hacer y me diga cuanto me cobra.


recibo Mps, o preferiblemente escribanme a jeanmichel6@hotmail.com,gmail.com a los 2 al mismo tiempo
 

Archivos adjuntos

  • explicacion.JPG
    explicacion.JPG
    60.8 KB · Visitas: 127
Viejo jerry no tendrias por hay programas para guiarme sobre archivos planos, ???

pues q deseas hacer exactamente?
igual aqui te dejo uno q acabo de realizar cualquier duda me dices..
salu2

lo comentarie lo mas q pude ando en la oficina.:p



Guille. dijo:
Thx, creo que el codigo que posteas me servira en Dev-C++, Borland C++ y Visual C++ 6,,,, por cierto incluyes alguna libreria???

Saludos.

en Borland Builder c++ no sin ninguna librería en especial.

Código:
En la dll:
Código:
extern "C" __declspec(dllexport) int __stdcall Funcion(int x)
{
    return x;
}

En el ejecutable:
Código:
typedef int (__stdcall *PFuncion)(int);
PFuncion Funcion;
HINSTANCE hLib = LoadLibrary("tu_dll.dll");
if (hLib)
{
    Funcion = reinterpret_cast<PFuncion>(GetProcAddress(hLib, "Funcion"));

    // Comprobamos si no se ha cargado
    if (!Funcion)
        throw Exception("No se pudo cargar la function");

    // Probamos la funcion
    int x = Funcion(130);

    FreeLibrary(hLib);
}

También puedes usar TDUMP.EXE en línea de comandos del siguiente modo para comprobar con que nombre se han exportado las funciones:
Código:
TDUMP -ee tu_dll.dll


saludos..
 

Archivos adjuntos

  • Archivos planos.rar
    13.1 KB · Visitas: 123

Los últimos mensajes

Los últimos temas