C++ 允许用户写入列表 uid; cout

C++ 允许用户写入列表 uid; cout,c++,arrays,list,vector,C++,Arrays,List,Vector,以下是我所拥有的: #include <iostream> #include <string> #include <unistd.h> #include <math.h> #include <vector> using namespace std; int main() { string uid; write(1,"\E[H\E[2J",7); cout << "Enter UID: ";

以下是我所拥有的:

#include <iostream>
#include <string>
#include <unistd.h>
#include <math.h>
#include <vector>

using namespace std;
int main()
{
    string uid;
    write(1,"\E[H\E[2J",7);
    cout << "Enter UID: ";
    cin >> uid;
    cout << "DB: \n\n" << uid << " \n\n""end\n\n";
    return 0;
}
#包括
#包括
#包括
#包括
#包括
使用名称空间std;
int main()
{
字符串uid;
写(1),“\E[H\E[2J”,7);
cout>uid;

cout在std-
std::list
中有一个列表。查找它。有一些函数可以向其中插入元素,您可以在最后遍历它以打印值

这个循环很容易

do{
    //whatever you want to do in the loop
    //read input
    //insert into list
}while(/*condition*/); //condition should be something like
                       //the string is not "exit"
std::string
具有与其他字符串进行比较的方法,还具有重载运算符。找到要使用的运算符可以作为一个很好的练习


没有给出实际的代码,因为……嗯,这对您没有多大帮助,是吗?

由于这个问题没有太大的难度,我将给出一个您无法理解的复杂答案

std::vector<std::string> list;
for(std::string i; std::cin >> i && i != "exit"; list.push_back(i));
std::copy(list.begin(), list.end(), std::ostream_iterator<std::string>(std::cout, "\n"));
std::向量列表;
对于(std::string i;std::cin>>i&&i!=“退出”列表。向后推(i));
std::copy(list.begin()、list.end()、std::ostream_迭代器(std::cout,“\n”);

…但这可能是最小的方法(我相信有人会做一个更小的,因为我已经说过了)

你知道如何编写循环吗?什么是“\E”?也许这应该是“\x1B”?这些是我用来清除终端窗口的ascii转义字符,尽管没有真正的理由喜欢
std::list
而不是
std::vector
。@juanchopanza好吧,这是要求的一部分,但仅此而已。:)谢谢,查找它。但是“实际代码”将非常有帮助。谢谢您的帮助response@user1995298不,你认为它会有帮助,但它不会。我不确定OP是否真的意味着
std::list
。可能是一个机会,在大多数情况下,它不是一个好的选择。