在C ++中为变量分配文本

时间:2013-04-17 19:26:14

标签: c++ visual-studio-2010 char

我在这里做了一些搜索,但我还没有找到解决方案来解决我正在寻找的问题。如果它在那里,我提前道歉。我是科罗拉多大学技术大学的学生,学习C ++入门课程,以前在C ++中没有编程经验。

我正在尝试构建一个应该显示文本的程序。 Visual Studio通过构建错误继续将其踢回来。在查看构建注释后,我确定错误是尝试为文本分配变量。以下是我到目前为止的情况:

char my_name;
char my_major;
int my_zip;
char my_address;
char my_phone;
char my_city_state;

cin >> "What is your name? " >> my_name;
cin >> "What is your street address, without city, state & ZIP? " >> my_street;
cin >> "What is the City and state that you live in? " >> my_city_state;
cin >> "What is the ZIP code? " >> my_zip;
cin >> "What is your phone number? " >> my_phone;
cin >> "What is your major? " >> my_major;

我曾试图直接指派,如下:

my_name="C++ User";

但在查看其他常见问题解答时,我意识到这是不可能的。

我如何能够像我最初想要的那样直接分配,或者允许分配输入?

注意:基本代码行是从RAPTOR输出中获取的,我已经能够使用它来使用它,而不是使用Visual Studio。

提前感谢您的帮助,再次,如果有答案,我很抱歉,但是看了15分钟后,我一直无法在这里找到它。

2 个答案:

答案 0 :(得分:4)

my_name是单个char,而您尝试分配给它的是字符串文字(即char数组)。

我建议在这里使用std::string。例如:

#include <string> // Header required for std::string

// ...

std::string my_name = "C++ User";

此外,您不应该在右侧使用带有字符串文字的operator >>。而不是这样做:

cin >> "What is your name? " >> my_name;

你应该这样做:

std::cout << "What is your name? "; // Print a message to the standard output
std::cin >> my_name; // Read a string from the standard input

答案 1 :(得分:1)

你应该使用std :: string来获取用户输入的字符串,std :: cout来显示用户消息,使用std :: cin来获取用户输入。

像这样你还需要#include

std::string name;

std::cout<<"What is your name "<<std::endl;
std::cin >> name;