| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 3002 人关注过本帖
标题:关于字符串任意输入并且识别空格的问题
只看楼主 加入收藏
hellovfp
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:禁止访问
威 望:30
帖 子:2976
专家分:7697
注 册:2009-7-21
收藏
得分:0 
回复 10楼 linw1225
这个getline函数据说好象是VC6的一个bug,不知道是不是真的,换个编译器写C++程序也许遇不上,你试试用codeblocks,也许程序不用改都可以,偶只是提供一个变通的方法达到你想要的目的,至于为什么是80个,是控制台程序一行可以显示80个字符,不过失去了string类使用的初衷,如果要输入任意个字符到string变量中,也许只有自己实现输入了,可以用vector来装字符,接收到一个字符压入vector,然后送到string变量中。个人使用C++输入输出流不多,仅个人见解,仅做参考。

我们都在路上。。。。。
2011-05-12 13:40
linw1225
Rank: 3Rank: 3
来 自:福建
等 级:论坛游侠
帖 子:110
专家分:145
注 册:2011-4-7
收藏
得分:0 
回复 7楼 hellovfp
试了还有一种可以输入空格的。
简单的小代码如下:
string a;
      getline(cin,a);

这样输入的字符串就可以包含空格了。
头文件要定义
#include<string>

但是,貌似在VC6.0里面要按两次eter键才能结束a的输入,接着输入另外的数据。

Einmal ist keinmal
2011-05-13 22:44
linw1225
Rank: 3Rank: 3
来 自:福建
等 级:论坛游侠
帖 子:110
专家分:145
注 册:2011-4-7
收藏
得分:0 
回复 8楼 hellovfp
再次试了下,getline果然是不行的。
Person::enter();
            cin.sync();
            cin.clear();
            cout<<"输入职称:";
            cin.getline(input, 80);
            zhichen = input;
            cout<<"输入部门:";
            cin.getline(input, 80);
            bumen = input;

那个请问一下:这段代码里面的
cin.sync();
            cin.clear();

这两句的意思是什么?如果去掉这两句话,运行就错误了。

Einmal ist keinmal
2011-05-14 05:38
lucky563591
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:小飞侠
威 望:4
帖 子:765
专家分:2103
注 册:2009-11-18
收藏
得分:0 
gets就可以
2011-05-14 07:40
ishagua
Rank: 2
等 级:论坛游民
帖 子:30
专家分:54
注 册:2011-5-10
收藏
得分:0 
2011-05-21 02:22
快速回复:关于字符串任意输入并且识别空格的问题
数据加载中...
 
   



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

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