Una dudilla, variable C++ (letras) ¿char?

n1x3r

hola, hace poco que empece a programar en c++ y haciendo mi primera aplicacion practica me he quedado atascado.
Necesito un tipo de variable en la que pueda introducir letras, mas bien palabras o frases y que esta variable las guarde tal y como las pongo.
Despues tengo que hacer una llamada a esa variable en un for (bucle) y necesito que me salga exactamente lo que puse.

Eh probado con la variable char pero parece que "memoriza" solo la primera letra, se que para vosotros es una tonteria pero yo no tengo ni idea.

mientras respondeis o no continuare preguntando a mi amigo google, a ver si me lo dice...

Gracias a todos.

LOc0

http://c.conclase.net/curso/index.php?cap=008

Salu2 ;)

n1x3r

joder gracias #2 muchisimas gracias,

UPS, otra dudilla, como puedo hacer para que el programa guarde en un documento todo lo que sale con "cout"?

Vamos.. todo lo que se pinta en la pantalla.

r2d2rigo

Pues o redireccionas el flujo de datos de cout (que va a ser que no de buenas a primeras si estas empezando) o cuando arranques tu programa a traves del cmd/consola pones:

programa.exe > salida.txt

Y el propio sistema operativo te lo hara :P

EDIT: En el enlace de L0c0 veo que solo hablan de arrays de caracteres. Si utilizas la STL, prueba el tipo de datos string. Te sorprendera lo util que es para manejar cadenas (no necesitas especificarle una longitud determinada, ni que acabe en \0, puedes convertirlo a char[] en cualquier momento...).

Battosai

#include <string>
........
string s;
cin >> s;
cout << s;

B

para escribir cosas en archivos usa iostream

http://arco.inf-cr.uclm.es/dvilla/pensar_en_C++/products/html/ch02s06.html

cabron

#5:

char es un tipo de datos básico, string es una clase.

Según el programa que estés haciendo, si necesitas un control total y directo sobre la memoria y las operaciones que se realizan, usarías una array char, si no, pues lo suyo es una clase donde tienes todas las operacione necesarias sin preocuparte como se hacen o dejan de hacer.

B

a ver, los strings en realidad son punteros a char, es decir, char. lo q hace string.h es definir una serie de clases y funciones para el tratamiento de cadenas.basicamente se podria decir que un string es un char con una serie de propiedades y métodos.

maRc

#9, con el tipo de datos string tienes las mismas funciones que puedes usar con los char*, además de otras nuevas y más fáciles de usar.

Por ejemplo, para concatenar dos cadenas con la forma char*, tienes que utilizar la función strcat(), y además asegurarte de que en la cadena destino tienes suficiente espacio.

En cambio, con el string simplemente con un + te basta. Por ejemplo, string s; s = "pepe" + "manolo";
Sin tener que preocuparte de nada más.

Pero esto es de C++ (o cualquier lenguaje orientado a objetos), no de C.

Usuarios habituales