0 votos
por (760 puntos) en C/C++
HOLA: alguien me podria dar algunos ejemplos como manejar archivos en c++, y temas para leer, y aprender a programar c++.

espero respuestas gracias


25 Respuestas

0 votos
por (3.2k puntos)
Aclaracion sobre bios.h  >> es una herramienta que viene el Borland C++, es el use para probar en windows, asi que no funcionara si usas otros C (debilidades por estar en Windows).

Sobre .dat , es importante que dat es un archivo binario que normalmente es usado por el stream de c/c++ y tb por otros, no te preocupes si es que no puedes abrir desde tu windows, la aplicabilidad debe ser vista dentro de tu aplicacion de C++.

Usa mi ejemplo de escribir y en vez de "unArchivo" pon otro nombre como ser: "algo.dat" y despues usa el ejemplo de leer y lees el "algo.dat", veras que tu aplicacion no tiene ningun tipo de problemas al leer el .dat.

Acerca de txt: Puede ser aceptado pero no es conveniente.

Acerca de .docx:  No lo uses por nada del mundo ya que es una archivo compreso tipo .zip .rar y espera un flujo de bits mas estrecho asi que no te servira para nada.


0 votos
por (3.2k puntos)
Suponiendo que tienes borland C++ bajo windows, hare una modificacion al programa de leer ficheros para que en ves de leer, lo imprima. En este caso imprimira el archivo "algo.dat".

================================================

//Codigo Modificado, leerEimprimir.cpp

#include <stdio.h>

#include <bios.h>

FILE *archi, *fopen();

int main(){

    char cadena[80];

    archi=fopen(&quot;algo.dat&quot;,&quot;r&quot;);

    if(archi == NULL)

        printf(&quot;Archivo no encontrado&quot;);

    fgets(cadena,60,archi);

    do{

        while(*cadena)

            biosprint(0,*cadena++,0);

    }while(fgets(cadena,80,archi)!=NULL);

    fclose(archi);

    return 0;

}


0 votos
por (3.2k puntos)
Solucion extrema:

Me olvide mencionarte que puedes adaptar tu USB a puerto paralelo LPT a nivel de hardware, quiza sea la solucion mas operativa.

Mira esta pagina, aqui puedes ver el Puente USB-LPT

http://www.epapersign.com/LPT-to-USB/parallel-to-usb-connector/

Toma en cuenta que el equipo donde piensas instalar tu software debe como requisito tener un puerto LPT como minimo.


0 votos
por (760 puntos)
mira yo sigo con eso de q me tira un monton de signos este programa a la hora q yo quiera ver lo q escribi en mi programa en c++, el cual si yo voy y abro mi disco duro m busco en donde apunte ese archivo, si lo tengo e .txt me tira un nonton de signo y no me tira lo q real mente yo escribi,

yo pienso q q aca tengo el error,

///,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,

if ((fichero = fopen(&quot;pacientes.docx&quot;, &quot;ab&quot;)) == NULL) {

printf (&quot;Error en apertura del fichero para escrituran&quot;);

}

else {

//guardamos los datos en el fichero

fwrite(&amp;paciente, sizeof(paciente), 1, fichero);

printf(&quot;nPaciente agreado.&quot;);

fclose (fichero);

}

//::::::::::::::::::::::::::::::::::::::::::::::::::::::

si corren el codigo de arriba el codigo grande se daran cuenta de q me da un monton de signos q nada q ver con lo q escribe en el programa en c++, no se si me don a entender, no se si utds tienen c++ ahorita para q lo prueben, necesito q me ayuden con eso, es q no ayo como arreglarlo, gracias por sus ayuda


0 votos
por (3.2k puntos)
ERROR:  .docx no es un archivo de texto plano.

Si abres un fichero .docx es lo mismo que intentar abrir un fichero de tipo .rar o .zip.

Word tiene su propio descomprensor, lo unico que puedes usar en C++ es texto plano.

Un ejemplo: intenta abrir un docx con bloc de notas y vera que pasa.

Atte: Roberto.


0 votos
por (760 puntos)
en el programa q coloque arriba el grande le coloque .txt, .docx. y .dat y me dio igual un monto de signos raros q nada q ver, quisiera q me ayudaras con ese ejemplo q te coloque en el foro, talves sera mucho lo q pido pero me podrian decir donde tego los errores y xq no me da como yo lo quiero, y si m lo pudieran arreglar c los agradecira si no es mucho pedir

gracias


0 votos
por (3.2k puntos)
correccion de codigo que pusiste:

if ((fichero = fopen(&quot;pacientes.dat&quot;, &quot;w+&quot;)) == NULL) { //intenta con w+  y con tipo dat

printf (&quot;Error en apertura del fichero para escrituran&quot;);

}

else {

//guardamos los datos en el fichero

fwrite(&amp;paciente, sizeof(paciente), 1, fichero);

printf(&quot;nPaciente agreado.&quot;);

fclose (fichero); //cierra en cuanto agrega un solo paciente

}


0 votos
por (3.2k puntos)
y para leer intenta con r+. ejemplo:

fichero = fopen(&quot;pacientes.dat&quot;,&quot;r+&quot;);


0 votos
por (760 puntos)
hola el inge q nos da clases nos dijo q &quot;.dat&quot; era un archivo el cual no ponidiamos  abrir, voy a intentar ingresarle a mi programon &quot;w+&quot; a ver q pasa, ahora nos dejo un porgrama para q  tenga q;

INGRESAR

MODIFICICAR/actualizar

ver

eliminar

print //imprimir con el API DE WINDOWS

me podrian decir q letra uso en cada uno de ellos es q me confunde un poco,lo q pasa es q e visto otros progrmas donde utilizan dos letras ejemplo;&quot;ab&quot;,&quot;wb&quot;, y me explicaran xq en esos programas utilizan eso

grcias


0 votos
por (3.2k puntos)
En realidad y en resumen, tu aplicacion puede generar cualquier extension que tu desees para manejar archivos de texto: .dat, .algo, . nombre, lo que deses al final lo que importa es el contenido que tiene a nivel de bytes.

API de Windows, (solo uso LINUX :P asi que no puedo aportar efectivamente con eso).

Explicacion de ab, wb ... etc.

Son modos de apertura de archivos, a continuacion te los detallo.

&quot;r&quot; Abre un archivo de texto para lectura.

&quot;w&quot; Crea un archivo de texto para escritura.

&quot;a&quot; Abre un archivo de texto para añadir

&quot;rb&quot; Abre un archivo binario para lectura.

&quot;wb&quot; Crea un archivo binario para escritura.

&quot;ab&quot; Abre un archivo binario para añadir.

&quot;r+&quot; Abre un archivo de texto para lectura/escritura.

&quot;w+&quot; Crea un archivo de texto para lectura/escritura.

&quot;a+&quot; Abre o crea un archivo de texto para lectura/escritura.

&quot;rb+&quot; Abre un archivo binario para lectura/escritura.

&quot;wb+&quot; Crea un archivo binario para lectura/escritura.

&quot;ab+&quot; Abre o crea un archivo binario para lectura/escritura.

&quot;rt&quot; Abre un archivo de texto para lectura.

&quot;wt&quot; Crea un archivo de texto para escritura.

&quot;at&quot; Abre un archivo de texto para abrir.

&quot;r+t&quot; Abre un archivo de texto para lectura/escritura.

&quot;w+t&quot; Crea un archivo de texto para lectura/escritura.

&quot;a+t&quot; Abre o crea un archivo de texto para lectura/escritura.

ahora con estos datos seguro sabras cual usar segun lo que estas trabajando.

Espero te sirva


Preguntas relacionadas

0 votos
6 respuestas
0 votos
1 respuesta
0 votos
0 respuestas
0 votos
0 respuestas
preguntado por jeremias10 (760 puntos) Ene 28, 2016 en C/C++
0 votos
7 respuestas
Bienvenido a Dudas de Programación, donde puedes hacer preguntas y recibir respuestas sobre los problemas más frecuentes de los lenguajes de programación, frameworks de desarrollo y bases de datos que utilices. Foro de Línea de Código

Categorías

...