用c++打印列表
Print a list in c++
我有以下结构:
struct People{
string name;
string surname;
string number;
};
如何打印列表中的所有人员?我创建了几个主要的人,并试图打印他们,但我得到了错误。
int main(int argn, char** args) {
list<People> test_list;
People first;
first.name= "Name1";
first.surname= "Surname1";
first.number= "E1234567";
test_list.push_back(first);
People second;
second.name= "Name2";
second.surname= "Surname2";
second.number= "E2345678";
test_list.push_back(second);
People third;
third.name= "Name3";
third.surname= "Surname3";
third.number= "E3456789";
test_list.push_back(third);
list<People>::iterator i;
for( i = test_list.begin(); i != test_list.end(); ++i)
cout << *i << " ";
cout << endl;
return 0;
}
有人知道打印列表的方法吗?
您应该定义std::ostream& operator<<(std::ostream&,const People&)
,它应该只打印People实例中的数据。
尝试打印详细信息:
cout << i->name << " "<< i->surname << " "<< i->number << " ";
我假设,您正在尝试打印结构的变量。在for循环中,您已经指定了指针,它指向列表的每个元素。但是您还没有指定结构中的元素。因此,
count<<(*i).name<<endl; // for printing name
或者,你也可以像这个一样使用->
count<<i->name; // for printing name.
这应该能解决你的问题。
相关文章:
- 为什么它只打印双链接列表的第一个值,而我的程序却崩溃了
- 链接列表运算符重载没有打印出我想要的内容
- 直接 2D 呈现到命令列表和打印:图片压缩
- C++声明双链表,使用两个 for 循环双向遍历列表并打印
- 如何获取列表的每个对象并调用getName方法来打印其名称
- 只有我的"链接列表"中的第一个节点正在打印
- C++ - 使用 std::list,如何打印对象的私有成员的链接列表?
- C++使用相反的顺序打印带有逗号的列表
- 如何实现否定用户输入退出程序和打印列表?
- 打印/修改类对象的特定成员变量,其类定义列表 (STL) 包含的元素类型
- C++:一种在列表中打印所有对的优雅方式
- C 打印集合列表
- 如何打印简单的链接列表(C )
- 如何编写循环以通过列表迭代并打印列表中每个元素的数据的数据
- 使用for_each从对象列表中调用打印功能
- 我的链接列表打印功能进入无限循环
- 链接列表打印null -C
- 链接列表打印不起作用.
- 将整数列表打印为逗号分隔的数字列表,每行最多 10 个
- 奇怪的列表打印函数行为。如果我打印"n"则有效,如果我删除它则不起作用