关于cin>>s和getlne(cin,s)的问题。

我在一个正则匹配的从输入流中匹配遇见的一个问题。

string numbers;
    while (getline(cin,numbers))
    {
        for (sregex_iterator it(numbers.begin(), numbers.end(), r), end_it; it != end_it; ++it)

就是第二行,当我使用geilne(cin,numbers)的时候匹配没有问题,但是当我使用cin>>numbers的时候,在输入流中输入且还行之后,匹配的结果没有出来。
请问这是为什么。
cin不也是从输入流中读取数据到numbers中的么?
谢谢。

win7 vs2015。也不知道自己描述清楚没有。麻烦大家看一下。谢谢了。

阅读 2.7k
1 个回答

用cin,\t,\n,空格都可以作为分隔符,getline(),默认\n分隔,万一numbers这个字符串中间有个空格,用cin就不行吧。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题