C++ 迭代器 基础 请问为什么没输出结果?

#include
#include
#include
using namespace std;
int main()
{vectortx;
string s;
while(getline(cin,s))
tx.push_back(s);
for(auto i=tx.begin();i!=tx.end()&&!i->empty();i++)
{for(auto j=i->begin();j!=i->end();j++)
*j=toupper(*j);
cout<<*i<<endl;}
return 0;}

代码没有问题,可以实现你要的功能,跳出while(getline(cin,s))
tx.push_back(s);按ctrl+z

代码复制过来是忘记复制头文件了,抱歉。