如果你確實想得到一行而不是一個單獨的詞,可以這樣做:
#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’;
}
在《C++程序設計語言》(可在線獲得)的第3章,可以找到一個對諸如字符串與流這樣的標準庫工具的簡介。對于使用C與C++進行簡單輸入輸出的詳細比較,參見我的文章《將標準C++作為一種新的語言來學習》(Learning Standard C++ as a New Language),你可以在本人著作列表(my publications list)中下載到它。
為什么C++不提供“finally”的構造?
因為C++提供了另外一種方法,它幾乎總是更好的:“資源獲得即初始化”(resource acquisiton is initialization)技術;镜乃悸肥,通過一個局部對象來表現資源,于是局部對象的析構函數將會釋放資源。這樣,程序員就不會忘記釋放資源了。舉例來說:
class File_handle {
FILE* p;
public:
File_handle(const char* n, const char* a)
{ p = fopen(n,a); if (p==0) throw Open_error(errno); }
File_handle(FILE* pp)
{ p = pp; if (p==0) throw Open_error(errno); }
~File_handle() { fclose(p); }
operator FILE*() { return p; }
// ...
};
void f(const char* fn)
{
File_handle f(fn,"rw"); //打開fn進行讀寫
// 通過f使用文件
}
文章來源于領測軟件測試網 http://www.kjueaiud.com/