Necesito sobrecargar los operadores >> y << para poder leer y escribir directamente a un fichero. No se como hacerlo. Me ayudan.
Salu2
| |||
no creo que haya necesida de sobrecargarlo si es que estan en la libreria <ofstream.h> podría ser algo así ?? #include <stdio.h> class CFile { public: CFile(char *file, int inout, int modo); private: FILE* archivo; void operator<<(char *cadena); }; void CFile::operator<<(char *cadena) { fprintf(archivo, "%s", cadena); } y asi seguirlo sobrecargando para todos los tipo de datos... ahora para más seguridad deberías asegurarte que el archivo haya sido abiertamente bien... revisar el estado de los bits etc ; ) |
| ||||
Mira mi clase ... Mi clase principal es esta: Código PHP: Esta es la implementación de las clases. Código PHP: Código PHP: ![]()
__________________ Ing. Reynier Pérez Mira |
| |||
no ocupare toda tu definicion pero algo así en el modulo private: crear un miembro ofstream en el constructor abrir el archivo Código PHP: Código PHP: y eso... y en el destructor hacer Código PHP: |
| ||||
Mira ahora lo he hecho .... Ahora lo he hecho de esta manera y me funciona perfectamente la entrada pero no se como implentar la salida. Código PHP: Cod >> Cod.getCadena().c_str(); y la salida al fichero es esta: Modulador-demodulador Modulador-demCOPIA(8,12) pero no se como hacer para que me lea del fichero eso mismo y me lo ponga en el componente de tipo TMemo Me ayudan ?? ![]()
__________________ Ing. Reynier Pérez Mira |
| |||
Bueno yo tenía entendido quie el operador de entrada era <<, no sé porque las cadenas las escribes con >>, pero bueno :P veamos si esto te resulta Código PHP: |
| |||
acá una implentacion basica de una clase CCadena Código PHP: Si te fijas al final la cadena "cadena" termina con el valor "cadenaMe", esto es porke scanf y fscanf leen hasta que haya una espacio... |
| ||||
![]() Si yo entiendo toda esa parte del código pero no se como sacar las dos cadenas que tengo en el fichero txt. Mira entra en esta web: http://reynierpm.webcindario.com/descargar.htm y ahi te puse el codigo fuente completo del programa con el ejecutable y todo para que veas que es lo que trato de hacer y no me resulta. Salu2 PD: Gracias por ayudarme ![]() ![]()
__________________ Ing. Reynier Pérez Mira Última edición por Reynier; 06/02/2004 a las 11:48 |
| |||
creo que el problema está acá Código PHP: FILE *fichero = fopen("resultado.txt","a+"); abres el fichero en modo "append", y resulta que al hacerlo as´te estas colocando al final del fichero, entonces no hay que leer |
| ||||
Sip pero ... Te bajastes el código fuente que te puse en mi sitio y lor revisastes pues el problema es a la hora de leer del fichero y mostrar los resultados en un Edit. Salu2 ![]() ![]()
__________________ Ing. Reynier Pérez Mira |
| ||||
Los prototipos para sobrecargar los operadores son los siguientes: Caso lectura desde fichero Código PHP: Para leer desde fichero se hace lo siguiente: Código PHP:
__________________ Hi ha gent a qui no agrada que es parle, s'escriga o es pense en català. És la mateixa gent a qui no els agrada que es parle, s'escriga o es pense. |