回首页 回首页 ◎ 设为首页  
◎ 收藏本站  
◎ 给我留言  
  
  首 页  C/C++教程  C++之父的FAQ  C/C++动向  C/C++源代码  C/C++误区  Unix/Linux  下载中心  乱七八糟  蚂蚁的Blog  
  当前位置:首 页 >> C++之父的FAQ >> C++ 风格与技术 FAQ >> [转] 我如何从标准输入中读取string?
最 近 更 新
[转] 我该把const写在类..
[翻译] 我应该使用按值..
[翻译] 你如何命名变量..
[转] 何种代码布局风格..
[转] “int* p;”和“in..
[翻译] “cout”怎么念?
[转] 宏有什么不好吗?推荐
[翻译] static_cast 有..推荐
[翻译]为何C++里有些东..推荐
[翻译] i++ + i++ 的值..推荐
最 新 推 荐
[转] 宏有什么不好吗?推荐
[翻译] static_cast 有..推荐
[翻译]为何C++里有些东..推荐
[翻译] i++ + i++ 的值..推荐
[翻译] 数组有何不好之..推荐
[转] 为何delete操作不..推荐
[转] 有placement delet..推荐
[翻译] “new”和“mall..推荐
[转] C和C++风格的内存..推荐
[翻译] 为何标准容器效..推荐
热 门 排 行
[转] 我可以写“void ma..
[翻译] 什么是纯虚函数?
[转] 我该把const写在类..
[转] 这个简单的程序…..推荐
[翻译] i++ + i++ 的值..推荐
[转] 我如何从标准输入..
[转] 我怎样才能把整数..
[翻译] static_cast 有..推荐
[转] 宏有什么不好吗?推荐
[转] 我应该怎样处理内..推荐
站 内 搜 索

Web stdcpp.cn
关键词

搜索方式

搜索范围

精确匹配
广 告

[转] 我如何从标准输入中读取string?


来源:C++ Style and Technique FAQ 作者:Bjarne Stroustrup 翻译:紫云英 等级:一般
发布于2006-11-25 11:47 被读1213次 【字体:

原文地址:http://www.research.att.com/~bs/bs_faq2.html#read-string

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》一文。

本文乃网上搜集得来,其版权归原作者和原出处所有。如有侵犯版权之处请与我联系,我将马上进行处理。



相关专题:C++ 之父的言论
[转] 我该把const写在类型前面还是后面?
[翻译] 我应该使用按值传递还是按引用传递?

上一篇:[转] 我可以写“void main()”吗?
下一篇:[转] 我应该怎样处理内存泄漏?

共有评论 1 条 网友评分 1分 查看全部评论

游客:菜鸟爱CPP
评分:5
还是习惯用char数组

查看全部评论

【发表评论】 评分:1分 2分 3分 4分 5分


验证码:

Powered By Www.Xydw.COM Ver1.14 管理
Copyright © 2005-2006 蚂蚁的 C/C++ 标准编程 All Right Reserved. XCMS
粤ICP备06014124号   站长:Antigloss