荔园在线

荔园之美,在春之萌芽,在夏之绽放,在秋之收获,在冬之沉淀

[回到开始] [上一篇][下一篇]


发信人: Dreamer (我与萤火虫), 信区: SoftDev
标  题: 【C++】[FAQ]我如何从标准输入中读取string?
发信站: 荔园晨风BBS站 (Sat Jun 12 13:48:21 2004), 站内信件


Q: 我如何从标准输入中读取string?
A: 如果要读以空白结束的单个单词,可以这样:
#include<iostream>
#include<string>
using namespace std;

int main()
{
cout << "Please enter a word:\n";

string s;
cin>>s;

cout << "You entered " << s << '\n';
}


请注意,这里没有显式的内存管理代码,也没有限制尺寸而可能会不小心溢出的缓
冲区。 [译注:似乎Bjarne常骄傲地宣称这点——因为这是string乃至整个标准库
带来的重大好处之一,确实值得自豪;而在老的C语言中,最让程序员抱怨的也是
内置字符串类型的缺乏以及由此引起的“操作字符串所需要之复杂内存管理措施”
所带来的麻烦。Bjarne一定在得意地想,“哈,我的叫C++的小baby终于长大了,
趋向完美了!” :O) ]
如果你需要一次读一整行,可以这样:

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

int main()
{
cout << "Please enter a line:\n";

string s;
getline(cin, s);

cout << "You entered " << s << '\n';
}


关于标准库所提供之功能的简介(诸如iostream,stream),参见《The C++
Programming Language》第三版的第三章。如果想看C和C++的输入输出功能使用之
具体比较,参看我的《Learning Standard C++ as a New Language》一文。




--
如果你真的爱萤火虫,你就不应该将她困在瓶子里;
如果你真的爱萤火虫,你应该放开她,让她在天空中自由自在地飞!
虽然你会不舍得她,但是最终你就会明白这样你才真正拥有了她!

※ 来源:·荔园晨风BBS站 bbs.szu.edu.cn·[FROM: 192.168.0.223]


[回到开始] [上一篇][下一篇]

荔园在线首页 友情链接:深圳大学 深大招生 荔园晨风BBS S-Term软件 网络书店