c++ - 如何在空数组中添加用户给出的字符串并在 C++ 中查找它的长度
问题描述
我是 C++ 的新手,并且正在尝试从用户那里获取字符串并将它们添加到一个空数组中。我读了我的书,但没有得到正确的解释。我知道我的代码不正确,但我想做的是,要求用户提供一个字符串,直到用户键入“退出”,程序应该获取字符串并将其添加到名为 listt 的空数组中。之后,我声明了名为 len 的变量,并尝试获取我刚刚创建的数组的长度。但是我遇到了几个错误并寻找资源来解决我的问题。我还是做不到。如果有人可以帮助我解决这个问题,那将是非常有帮助的。非常感谢。我的代码是:
#include <iostream>
using namespace std;
int main()
{
string listt[];
string word;
cout<< "Enter word: ";
while (word != "Quit" ){
cin >> word;
listt.push_back(word);
}
cout << listt;
int len ;
len = listt.size();
cout << len;
for (int i=0; i < len; i++){
cout << i;
cout << endl;
}
return 0;
}
解决方案
您应该使用向量而不是数组:
所以而不是:
string listt[]; // shouldn't compile anyway
利用:
vector<string> listt;
另外,这也不行:
cout << listt; // you can't print array or vector directly, so loop and print each item
此外,使用 for-each 而不是 C-style for
for (const auto &v : listt)
{
cout << v << endl;
}
您的其余代码应该没问题。
推荐阅读
- node.js - 如何通过表单将嵌入代码存储到 Mongodb?
- python - 使用 Astropy 打开 FITS 时出现 OSError 24
- arrays - 使用数组和 if 或 for 循环并输出单独的文件
- angular - 删除 Fomantic UI(语义 UI 分支)中未使用的 CSS/JS
- javascript - 即使更改了基础层,如何在前面保持覆盖层
- sql - 获取 main 中每个子组的计数
- reactjs - 未定义函数(多个函数调用) - React
- javascript - 当提供者组件父状态发生变化时,为什么不能更新子组件中的值(带有反应上下文)?
- android - 使用数据绑定从 ViewModel 显示/隐藏 ProgessBar - MVVM
- python - 如何更改 django 模板中的现有变量