循环读字符串如何终止?

smallhappiness 2011-02-26 12:30:03
如题,代码如下,当运行后,输入字符串,回车,输入字符串,回车。那咋样才能告诉它说我输完了,可以执行后面排序呢
int main(int argc, char* argv[])
{

string s;
vector<string> vs;
while(cin >> s)
vs.push_back(s);
sort(vs.begin(),vs.end(),greater<string>());
for(int ix=0;ix<vs.size();ix++)
cout<<vs[ix]<<endl;
return 0;
}
...全文
237 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
smallhappiness 2011-02-26
  • 打赏
  • 举报
回复
还有个小问题,谢谢各位
char* pStr="";
cout<<*pStr;
这个*pStr好像会输出个空格,是啥东东呀?
jieao111 2011-02-26
  • 打赏
  • 举报
回复
如果if(s=="#"),就break出循环
jieao111 2011-02-26
  • 打赏
  • 举报
回复
可以在while里加个if,比如,如果if(s=="#"),就表示输入完了。。只需要你输入#就表示输入完了
昵称很不好取 2011-02-26
  • 打赏
  • 举报
回复
windows下按ctrl + z
linux下按ctrl + d
smallhappiness 2011-02-26
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 jieao111 的回复:]
给分结贴
[/Quote]
呵呵。好的,大哥。
jieao111 2011-02-26
  • 打赏
  • 举报
回复
给分结贴
smallhappiness 2011-02-26
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 jieao111 的回复:]
如果if(s=="#"),就break出循环
[/Quote]

while(cin >> s)
{
if(s=="#")
break;
vs.push_back(s);
}
这样就可以啦
smallhappiness 2011-02-26
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 wei801516 的回复:]
char* pStr = "a";
cout << *pStr;
是不是一个意思呢?
[/Quote]
这个会输出a呢。
是不是一个意思?啥意思?
wei801516 2011-02-26
  • 打赏
  • 举报
回复
char* pStr = "a";
cout << *pStr;
是不是一个意思呢?
無_1024 2011-02-26
  • 打赏
  • 举报
回复
一个空的char

64,654

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧