2009-11-02 10 views
1

Je sais que pour un nombre entier, vous pouvez utiliser:Comment déclarer une chaîne sans affecter de valeur en C++?

int value; 

J'ai essayé:

string str; 

mais Visual C++ m'a donné une erreur. Comment puis-je le déclarer sans attribuer de valeur, puis en utilisant cin >> str pour l'attribuer plus tard?

+1

Modifier cette question pour inclure le message d'erreur réelle - que l'information est le compilateur essaie de vous aider ; au moins nous donner cet avantage aussi. – Clifford

Répondre

14
#include <string> 
int main() 
{ 
std::string str; 
return 0; 
} 

Cocher cette info sur Namespaces par MSDN

+0

Je peux aussi écrire "using namespace std; string str;" droite? Je l'ai lu ici en googlant (http://www.cprogramming.com/tutorial/string.html) mais je pensais depuis que j'ai déjà écrit "using namespace std;" ci-dessous le "#include " Je n'ai pas eu à le réécrire. – Fabian

+0

De plus, si vous trouvez que vous utilisez beaucoup std :: string dans votre code, 'using std :: string;' vous aidera. – Bill

+4

En général, il est recommandé de ne pas utiliser 'using namespace std;' mais de simplement insérer les parties de l'espace de noms std que vous utiliserez: 'using std :: string; en utilisant std :: cout; en utilisant std :: endl; ', par exemple. – Bill

1
#include <string> 
using std::string; 

int main() { 
    string str; 
    return 0; 
} 
0

Effectuez les actions suivantes:

#include <iostream> 
#include <string> 

using std::string; 
using std::cout; 
using std::cin; 

int main() 
{ 
    string str; 
    cout << "Enter a string: "; 
    cin >> str; 
    cout << "You entered: " << str; 

    return 0; 
} 
+0

Quelle est la différence entre iostring et iostream? – StackedCrooked

+0

ce serait une faute de frappe. : P Merci! – Bill

Questions connexes