Foros del Web » Programación para mayores de 30 ;) » C/C++ »

Duda c_str() en ejemplo libro Prata

Estas en el tema de Duda c_str() en ejemplo libro Prata en el foro de C/C++ en Foros del Web. Hola Estaba leyendome el libro C++ Primer Plus 6th de Prata para refrescar un poco mi C++ y tengo una duda sobre un ejemplo sobre ...
  #1 (permalink)  
Antiguo 13/08/2013, 07:58
 
Fecha de Ingreso: enero-2008
Mensajes: 136
Antigüedad: 16 años, 2 meses
Puntos: 1
Duda c_str() en ejemplo libro Prata

Hola

Estaba leyendome el libro C++ Primer Plus 6th de Prata para refrescar un poco mi C++ y tengo una duda sobre un ejemplo sobre I/O de archivos.
En la página 1117 hay un ejemplo en el que entre otras cosas escriben esto:

Código:
string filename;
cout << "Enter filename";
cin >> filename;
ofstream fout(filename.c_str());
y dice que se usa c_str() para pasar el nombre, que es un string, como parámetro...


En la página 1121 en otro ejemplo se usa

Código:
fin.open(argv[number]);
¿Por qué no se usa también el .c_str() en este caso?

saludos
  #2 (permalink)  
Antiguo 13/08/2013, 08:02
Avatar de razpeitia
Moderador
 
Fecha de Ingreso: marzo-2005
Ubicación: Monterrey, México
Mensajes: 7.321
Antigüedad: 19 años
Puntos: 1360
Respuesta: Duda c_str() en ejemplo libro Prata

c_str devuelve un puntero a caracter (usualmente un arreglo).

char **argv, es un arreglo bidimensional de caracteres.

Ojo char * es diferente de string.
  #3 (permalink)  
Antiguo 13/08/2013, 08:22
 
Fecha de Ingreso: enero-2008
Mensajes: 136
Antigüedad: 16 años, 2 meses
Puntos: 1
Respuesta: Duda c_str() en ejemplo libro Prata

Entonces es porque argv[1] devuelve un array de caracteres en vez de un string... No entiendo porque esto si que se puede aceptar directamente y el string no.

saludos

Etiquetas: ejemplo, libro, string
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 01:46.