怎么判断输入的string串 是回车换行

清水迎朝阳
博客专家认证
2008-11-20 02:15:25

比如 string s;

cin>>s;

下面要判断是否按下了Enter健 该如何判断呢
...全文
2195 18 打赏 收藏 转发到动态 举报
写回复
用AI写文章
18 条回复
切换为时间正序
请发表友善的回复…
发表回复
whmouse 2008-11-21
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 fableboy 的回复:]
我想到的是用最简单的char不好吗?
然后
[code=c/c++]
vector <char> CAry;
char tmp;
while(cin>>tmp)
{
if(int(tmp) == 13)//回车的ASCII码值为13
break;
CAry.push_back(tmp);
}
[/code]
[/Quote]


无法识别回车,循环无法退出!
bfhtian 2008-11-21
  • 打赏
  • 举报
回复
getline(cin,s);
会在连输两个enter后结束输入
cba_v 2008-11-21
  • 打赏
  • 举报
回复
cin,get()好象 可以 接收回车的
清水迎朝阳 2008-11-20
  • 打赏
  • 举报
回复

我要输入的不是一个字符串 而是不确定的多个字符串

比如 输入: WELCOME TO CHINA THANK YOU ... 不停的输入 怎么保存 怎么控制 结束输入状态
霍大脚 2008-11-20
  • 打赏
  • 举报
回复
楼主看看C++ PRIMER(4TH)里写的cin、cin.get()还有cin.getline()的区别吧,看看他们哪个是干了什么事情
iceman19860106 2008-11-20
  • 打赏
  • 举报
回复
无限长字符串输入,以回车作为结束标志!!你看下,我这个版本是放到string中的,你稍微改下就可以放到vector中

#include <iostream>
using namespace std;
#include <string>
using std::string;

int main()
{
string str;
char ch;
do
{
ch = cin.get();
if(ch == '\n')
{
break;
}
str += ch;
}while(1);

cout << str << endl;

return 0;
}
zclever 2008-11-20
  • 打赏
  • 举报
回复

char tmp;
while((tmp=getchar())!='\n')
CAry.push_back(tmp);
gulangduxing 2008-11-20
  • 打赏
  • 举报
回复
直接将string值取出来,一个一个和'\n'比较
jakqigle 2008-11-20
  • 打赏
  • 举报
回复

vector <char> CAry;
char tmp;
while(cin>>tmp)
{
if(int(tmp) == 13)//回车的ASCII码值为13
break;
CAry.push_back(tmp);
}

jakqigle 2008-11-20
  • 打赏
  • 举报
回复

vector <char> CAry;
char tmp;
while(cin>>tmp)
{
if(int(tmp) == 13)//回车的ASCII码值为13
break;
CAry.push_back(tmp);
}

jakqigle 2008-11-20
  • 打赏
  • 举报
回复
我想到的是用最简单的char不好吗?
然后
[code=c/c++]
vector<char> CAry;
char tmp;
while(cin>>tmp)
{
if(int(tmp) == 13)//回车的ASCII码值为13
break;
CAry.push_back(tmp);
}
[/code]

就呆在云上 2008-11-20
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 hqin6 的回复:]
那就:

getline(cin,s);
[/Quote]
他只会读取还是会抛弃回车符号的
清水迎朝阳 2008-11-20
  • 打赏
  • 举报
回复


我想 从键盘敲入不确定个数的n个字符串 ,并把它们一一存储在vector<string>s 中, 可是怎么确定结束条件呢

while(cin>>s)
{

if(s== ) //这里我想设置一个结束条件
break;
s.pushback(s);
}
seesky2008 2008-11-20
  • 打赏
  • 举报
回复
判断输入值是否等于'\n'就行了
liviatt 2008-11-20
  • 打赏
  • 举报
回复
按了回车它会等你继续输入
太乙 2008-11-20
  • 打赏
  • 举报
回复
那就:

getline(cin,s);
lsldd 2008-11-20
  • 打赏
  • 举报
回复
一回车就刷新流了
文件读入倒是可以
就呆在云上 2008-11-20
  • 打赏
  • 举报
回复

cin能够输入回车?
回车是输入不了的
不信你试试

64,648

社区成员

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

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