0

我刚刚开始学习 C++,我对字符串有点困惑。我首先需要一个输入单词并将每个字符保存在字符数组的特定位置。但是字符串基本上是字符数组,不是吗?但这不起作用:

char word[];
cin >> word[];

虽然这可行,但我不知道如何将字符填充到数组中。

string s;
cin >> s;

到目前为止我已经尝试过了,但是我得到了一个编译错误:

string s;
cin >> s;
char word[] = s;

对不起,我刚开始编程,不知道是否有人对我有一些建议:)

4

1 回答 1

0
char word[];

您需要给出数组的大小。然后,您可以直接对其进行输入。如果您希望将读取的内容复制std::string到字符数组,则需要使用安全的字符串复制功能,例如strncpy. 例如 -

char word[10];
std::string str("Hello");

strncpy(word, str.c_str(), sizeof(word));

但是,std::string建议在 C++ 中使用,而不是使用字符数组。

于 2013-08-18T14:01:57.310 回答