Foro de elhacker.net

Programación => Programación C/C++ => Mensaje iniciado por: DickGumshoe en 14 Julio 2012, 23:14 pm



Título: Funciones de E/S en C++
Publicado por: DickGumshoe en 14 Julio 2012, 23:14 pm
Hola.

Estoy pasando de C a C++ porque me llama mucho el tema de la programación orientada a objetos, pero antes tengo que saber lo básico (aunque todo es muy parecido a C).

Me gustaría preguntar algunas cosas:

¿El equivalente a getchar() en C++ es cin.get()?
¿Cuál es el equivalente a putchar() en C++? No lo encuentro...


Y respecto a ficheros:

¿Es correcto usar las funciones incluidas en cstdio para C++? Es decir, fopen(), fclose, fgetc(), fputc(), fgets(), fputs(), fprintf(), fscanf()... Es que he visto que en C++ hay funciones como open, close, get, put, getline, etc., y no sé si es correcto usar las de cstdio, que se supone que son las mismas que las de C.

Muchísimas gracias.

Saludos.



Título: Re: Funciones de E/S en C++
Publicado por: avesudra en 15 Julio 2012, 01:23 am
¡Hola! Mira aquí te dejo la referencia de todas las funciones de C++ http://www.cplusplus.com/reference/ , en el menú de la izquierda pone IOstream Library ahí sale el manejo de archivos y lo demás en C++ . En cuanto a las funciones es correcto pero si estás aprendiendo C++ lo lógico es que utilizes esas funciones. El equivalente a getchar es este :
Código
  1. cin.peek();

Y el equivalente a putchar es :

Código
  1. cout.put(char c);


Título: Re: Funciones de E/S en C++
Publicado por: DickGumshoe en 15 Julio 2012, 01:32 am
¡Muchas gracias!

Es que como las mismas funciones de E/S de ficheros estaban en cstdio, pues era para ver si la gente solía usarlo en C++. Entonces aprenderé las funciones de ficheros en C++.

Saludos!


Título: Re: Funciones de E/S en C++
Publicado por: oxydec en 15 Julio 2012, 03:22 am

Sobre el tema que preguntas de ficheros:

cin  es un objeto de tipo istream para la entrada estandar.
cout  es un objeto de tipo ostream para la salida estadar.

Asi que supongo que lo mas "ceplusplusero" seria usar objetos istream para leer ficheros http://www.cplusplus.com/reference/iostream/istream/ (http://www.cplusplus.com/reference/iostream/istream/)
y objetos ostream para escribirlos http://www.cplusplus.com/reference/iostream/ostream/ (http://www.cplusplus.com/reference/iostream/ostream/)


Título: Re: Funciones de E/S en C++
Publicado por: DickGumshoe en 15 Julio 2012, 03:34 am
¡Muchas gracias! Miraré las funcionesmde los links que me has pasado.


Título: Re: Funciones de E/S en C++
Publicado por: oxydec en 15 Julio 2012, 03:50 am
De nada hombre, aunque esa referencia es un poco tediosa, yo personalmente prefiero ver ejemplos, si buscas esas clases en google seguro que te salen miles de ejemplos.

 


Título: Re: Funciones de E/S en C++
Publicado por: DickGumshoe en 15 Julio 2012, 03:56 am
Sí, yo siempre miro varias páginaspara asegurarme de que entiendo todo y eso...
Saludos!


Título: Re: Funciones de E/S en C++
Publicado por: dato000 en 15 Julio 2012, 22:36 pm
Sí, yo siempre miro varias páginaspara asegurarme de que entiendo todo y eso...
Saludos!

yo uso videotutoriales viejo, y te dejo al mejor, a paueky, explica TODO lo de c++. te recomiendo su canal, es de lo mejor que hay.


Te dejo el primerito, pero ha hecho muchos de verdad, muchisimos, dejando claro bastantes cosas, yo voy en punteros y referencias, aunque sigo haciendo ejercicios de arreglos porque pues, fucking vectores y arreglos multidimensionales...

i0dovsDUndo

Canal de Paueky (http://www.youtube.com/playlist?list=PL192B8BBB9A27FC67&feature=plcp)


Título: Re: Funciones de E/S en C++
Publicado por: oxydec en 15 Julio 2012, 22:41 pm
Ahora pensando en lo que te dije creo que esta mal, las clases que te interesan son ifstream y ofstream que creo que heredan de istream y ostream respectivamente pero son especificas para ficheros.

Edito:
Un ejemplo de lectura
http://www.cplusplus.com/reference/iostream/ifstream/open/ (http://www.cplusplus.com/reference/iostream/ifstream/open/)


Título: Re: Funciones de E/S en C++
Publicado por: DickGumshoe en 15 Julio 2012, 22:45 pm
¡Gracias por el vídeo, dato000, y por la aclaración, oxydec!

Saludos!