| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 881 人关注过本帖
标题:getline在vc6.0中的一个小问题
取消只看楼主 加入收藏
yxb0001
Rank: 2
等 级:论坛游民
帖 子:50
专家分:35
注 册:2009-9-9
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:2 
getline在vc6.0中的一个小问题
下面小程序中为什么在vc++6.0中运行结果却得不到所需的结果?

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

int main ()
{
  string mystr;
  cout << "What's your name? ";
  getline (cin, mystr);
  cout << "Hello " << mystr << ".\n";
  cout << "What is your favorite color? ";
  getline (cin, mystr);
  cout << "I like " << mystr << " too!\n";
  return 0;
}


在VC++6.0运行,其结果如下:(下面黑粗体字是键盘输入的)
What's your name? Aqua  
Hello Aqua.
What is your favorite color? blue
I like too!


为什么在所需结果"I like blue too!"中会缺少"blue"?
搜索更多相关主题的帖子: getline 
2009-09-09 12:28
yxb0001
Rank: 2
等 级:论坛游民
帖 子:50
专家分:35
注 册:2009-9-9
收藏
得分:0 
谢谢。

第5楼从根本上解决了此问题。第4楼说明了在此小"bug"下如何操作才能得到结果。都是高手。
2009-09-09 22:30
yxb0001
Rank: 2
等 级:论坛游民
帖 子:50
专家分:35
注 册:2009-9-9
收藏
得分:0 
一般可采用cin.getline语句解决,如下:

#include<iostream.h>
 
int main()
{
    char mystr[100];
    cout<<"what's your name? ";
    cin.getline(mystr,100);
    cout<<"Hello "<<mystr<<".\n";
    cout<<"what is your favorite color? ";
    cin.getline(mystr,100);
    cout<<"I like "<<mystr<<" too!\n";
    return 0;
}
2009-09-10 16:46
快速回复:getline在vc6.0中的一个小问题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.016531 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved