• Viernes 15 de Noviembre de 2024, 03:05

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 - mpassado

Páginas: [1]
1
C/C++ / Re: Como Utilizo Clrscr(); En Dev C
« en: Jueves 8 de Julio de 2004, 00:19 »
Otra opción es colocar lo siguiente en la cabecera:

Código: Text
  1. #include <conio.c>
  2.  
  3.  

2
C/C++ / Re: Error: Infracción De Acceso (0xc0000005)
« en: Jueves 8 de Julio de 2004, 00:11 »
Lamento comunicar que la modificación fue un fracaso...   <_<  y lamento la tardanza de la respuesta.
Igualmente agradezco tu ayuda y si tienes alguna alternativa te lo agradecería.
Al producir la modificación me dice el compilador que "archivo" no es un tipo FILE

Saludos, y gracias.

3
C/C++ / Cambio De La Salida Estandar
« en: Jueves 8 de Julio de 2004, 00:05 »
Hola, esta es mi consulta:
Tengo una función que muestra en pantalla una tabla utilizando printf y cout, nada raro...
A través de comandos el usuario puede elegir la opción de mostrar en pantalla, o la de mostrar en pantalla y guardar en archivo, pasando el nombre del archivo nuevo.
Mi consulta sería si es posible cambiar la salida estándar stdout por la del archivo sin tener que modificar la función, y así solo tener que acceder a la misma dos veces para que lo muestre en pantalla y luego lo guarde en un archivo modificando la salida.

Gracias.

4
C/C++ / Re: Error: Infracción De Acceso (0xc0000005)
« en: Lunes 5 de Julio de 2004, 13:11 »
Muchas gracias, realmente fuiste de mucha ayuda.

Saludos y nuevamente gracias...   :hola:

5
C/C++ / Re: Error: Infracción De Acceso (0xc0000005)
« en: Miércoles 30 de Junio de 2004, 22:35 »
ahí va, serían tres archivos, como comentario agrego los nombres de cada uno:

Código: Text
  1.  
  2. ////////////////////////////////////////////
  3. //Archivo: archivo.h
  4. ////////////////////////////////////////////
  5. #ifndef archivo_h
  6. #define archivo_h
  7.  
  8. class archivo
  9. {
  10. public:
  11.    archivo();
  12.    void abrirArchivoLeer(char *);
  13.    void abrirArchivoEscribir(char *);
  14.    void cerrarArchivo();
  15.    int leerNumeroArchivo();
  16.    char leerLetraArchivo();
  17.    void escribirNumArchivo(const int &);
  18.    void escribirCarArchivo(const char &);
  19. private:
  20.    FILE *ptrArchivo;
  21.    FILE *ptrAuxiliar;
  22. };
  23.  
  24. #endif
  25.  
  26. ////////////////////////////////////////
  27. // Archivo:  archivo.cpp
  28. ///////////////////////////////////////
  29. #include <conio.h>
  30. #include <stdio.h>
  31. #include <iostream>
  32. #include "archivo.h"
  33. using namespace std;
  34.  
  35. //Constructor, inicializa en NULL los punteros
  36. archivo::archivo()
  37. {
  38.    ptrArchivo = NULL;
  39.    ptrAuxiliar = NULL;
  40. }
  41.  
  42. //Abre un archivo solo escritura
  43. void archivo::abrirArchivoEscribir(char *nomArchivo)
  44. {
  45.    cout << nomArchivo;
  46.    ptrArchivo = fopen(nomArchivo, "w");
  47.    if(ptrArchivo == NULL)
  48.    {
  49.       printf("Error: el archivo no se puede abrir\n");
  50.       printf("Presione una tecla para continuar...");
  51.       getch();
  52.       exit(1);
  53.    }
  54.    ptrAuxiliar = ptrArchivo;
  55. }
  56.  
  57. //Las otras funciones que se incluyen en el archivo.h no las copié
  58. // para simplificar.
  59.  
  60. /////////////////////////////////////////////////////////
  61. //Archivo: usaArchivo.cpp
  62. /////////////////////////////////////////////////////////
  63. #include <stdio.h>
  64. #include <conio.h>
  65. #include <stdlib.h>
  66. #include <iostream>
  67. #include "archivo.h"
  68. using namespace std;
  69.  
  70. int main(int argumentos, char *archivos[])
  71. {
  72.    archivo *matriz, *comandos, *nuevo;
  73.    char *nomMatriz, *nomComandos, *nomNuevos;
  74.  
  75. //Verifica que solo se coloquen 2 argumentos
  76.    if(argumentos > 3)
  77.    {
  78.       printf("\n\nDemasiados argumentos, coloque solo dos.");
  79.       printf("Presione una tecla para terminar...");
  80.       cin.get();
  81.       exit(1);
  82.    }
  83.    
  84.    nomMatriz = &archivos[1][0];
  85.    cout << "Nombre matriz: " << nomMatriz << "\n";
  86.    
  87.    nomComandos = &archivos[2][0];
  88.    cout << "Nombre comandos: " << nomComandos << "\n";
  89.  
  90.    nomNuevos = "nuevo.txt";
  91.    cout << "Nombre nuevo: " << nomNuevos << "\n";
  92.    
  93.    nuevo->abrirArchivoEscribir(nomNuevos); // Esto dá el error!!!
  94.  
  95.    nuevo->cerrarArchivo();
  96.    matriz->cerrarArchivo();
  97.    comandos->cerrarArchivo();
  98.  
  99.    cin.get();
  100.    return 0;
  101. }
  102.  
  103.  

Espero haber incluido bien el código,
gracias...

6
C/C++ / Re: Error: Infracción De Acceso (0xc0000005)
« en: Martes 29 de Junio de 2004, 14:36 »
Tengo la de stdio.h, e incorporé la cstdio y compila bien igual que antes.

Saludos.

7
C/C++ / Re: Error: Infracción De Acceso (0xc0000005)
« en: Martes 29 de Junio de 2004, 12:51 »
Gracias por contestar

Respecto a sus consultas, al archivo lo crea, y en las propiedades aparece solo tildada la opción de "Modificado". El ptrArchivo es tipo FILE * y el punto de error estaría en:

ptrArchivo = fopen(nomArchivo, "w");

ya que agregué un cout << nomArchivo;  antes de esta y muestra el nombre correcto.

Otra cosa, el SO es NT4 y en el W98 el error es: provocó un error de página no válida en el módulo de PROYECTOARCHIVO.EXE (este es el nombre del archivo) de 0167:004018a4

Saludos y gracias.

8
C/C++ / Error: Infracción De Acceso (0xc0000005)
« en: Lunes 28 de Junio de 2004, 17:59 »
HOLA,

Estoy realizando un práctico (una class) en el que mi programa debe abrir 2 archivos que se pasan como argumentos al main() y generar uno nuevo que guarde los cambios.  El error de acceso a memoria me lo presenta cuando ejecuto el programa (en la compilación no dice nada) y al tratar de abrir el archivo como de solo escritura.  &lt;_&lt;

void archivo::abrirArchivoEscribir(char *nomArchivo)
{
   ptrArchivo = fopen(nomArchivo, "w");
   if(ptrArchivo == NULL)
   {
      printf("Error: el archivo no se puede abrir\n");
      printf("Presione una tecla para continuar...");
      getch();
      exit(1);
   }
}

por favor, quisiera saber cual es el problema. Al programa lo ejecuté en W98, NT4 y me dá el mismo error.
Las funciones que abre los archivos en solo lectura funcionan perfecto, son iguales a la anterior, solo cambia la "w" por la "r".

Agradezco toda ayuda lo antes posible...
Gracias. :hola:

Páginas: [1]