2010-05-23 18 views
5

¿No debería funcionar?Cómo asignar un valor de cadena a una variable de cadena en C++

string s; 
s = "some string"; 
+2

@ David: Estoy de acuerdo en que la pregunta es algo escueta, pero, por lo que sabemos, Phenom podría haber intentado y obtener un mensaje de error: 'int main() {string s; s = "alguna cadena"; } 'dará mensajes de error que pueden parecer crípticos para un novato. – sbi

Respuesta

10

Sí!

Construye una cadena por defecto y luego la asigna desde un const char*.

(¿Por qué publicar esta pregunta? ... qué al menos lo intenta?)

+0

Estaba teniendo problemas para hacerlo con vectores. Esta respuesta me ayudó a encontrar el problema, que estaba en otra parte, y tenía que ver con cómo funcionan los vectores. – neuromancer

+3

Ah, ya veo, me alegro de que haya ayudado. La próxima vez, puede publicar un poco más de detalles sobre su problema y probablemente disfrutemos ayudándole con eso también :) – Stephen

10

En caso de que no este trabajo?

string s; 
s = "some string"; 

Bueno, en realidad se escribe std::string, pero si usted tiene un using namespace std; (absolutely evil) o using std::string; (un poco menos mal) antes de eso, se debe trabajar - siempre y cuando usted también tiene una #include <string> en la parte superior de tu archivo.

Tenga en cuenta, sin embargo, que es un desperdicio inicializar primero s como una cadena vacía, solo para reemplazar ese valor en la siguiente instrucción. (Y si la eficiencia no era su preocupación, ¿por qué se programa en C++?) Mejor sería para inicializar el valor s a la derecha inmediatamente:

std::string s = "some string" 

o

std::string s("some string"); 
Cuestiones relacionadas