C語言提供了格式化輸入輸出的方法,C++也同樣,但是C++的控制符使用起來更為簡單方便,在c++下有兩中方法控制格式化輸入輸出。
1.有流對象的成員函數(shù)。
例如,下列程序以成員函數(shù)的方式控制輸出的精度:
//程序作者:管寧
//站點:www.cndev-lab.com
//所有稿件均有版權(quán),如要轉(zhuǎn)載,請務(wù)必出處和作者
#include
using namespace std;
int main()
{
float pi=3.14159f;
cout< cout.precision(2);
cout< system("pause");
}
2.使用C++輸入輸出控制符,控制符是在拖文件iomanip.h中定義的對象,與成員函數(shù)有一樣的效果,控制符不必像成員函數(shù)學(xué)那樣單獨調(diào)用,它可以直接插入流中使用。
例如,下列程序以控制符的方式控制輸出的精度:
//程序作者:管寧
//站點:www.cndev-lab.com
//所有稿件均有版權(quán),如要轉(zhuǎn)載,請務(wù)必出處和作者
#include
#include
using namespace std;
int main()
{
float pi=3.14159f;
cout< cout< cout< system("pause");
}
下表我們列出了一些比較常用的控制符號,由于篇幅有限讀者請根據(jù)自己的需要查閱相關(guān)書籍:
控制符 描述
Dec 置基數(shù)為10
Hex 置基數(shù)為16
Oct 置基數(shù)為8
Endl 插入換行符,并刷新流
Ends 插入空字符
setfill? 設(shè)填充字符為c
setprecision(n) 設(shè)顯示小數(shù)精度為n位
setw(n) 設(shè)域?qū)挒閚個字符
setiosflags(ios::fixed) 固定的浮點顯示
setiosflags(ios::scientific) 科學(xué)計數(shù)法
setiosflags(ios::left) 左對齊
setiosflags(ios::right) 右對齊
setiosflags(ios::skipws) 忽略前導(dǎo)空白
setiosflags(ios::uppercase) 16進制數(shù)大寫輸出
setiosflags(ios::lowercase) 16進制數(shù)小寫輸出
對于iostream標準庫來說包含了眾多的成員函數(shù),各函數(shù)都有其自身的作用,篇幅問題筆者在這里不能一一說明例舉,由于標準輸入對象cin提供輸入的時候會自動以空格作為分界,給我們獲取一行帶有空格的完整字符串帶來了困難,在這里補充一個非常用有的成員函數(shù)----getline()。
其函數(shù)原型為:
getlin(chiar *str,int size,char='\n');
第一個參數(shù)是字符數(shù)組,用于存放整行文本,第二個參數(shù)讀取的字符個數(shù),第三個參數(shù)為作為分界界限的字符,默認識是\n,換行符。
示例代碼如下:
//程序作者:管寧
//站點:www.cndev-lab.com
//所有稿件均有版權(quán),如要轉(zhuǎn)載,請務(wù)必出處和作者
#include
#include
using namespace std;
int main()
{
char str[100];
cin.getline(str,sizeof(str),'\n');
cout< system("pause");
}
通過上面內(nèi)容的學(xué)習(xí),我們對i/o有了一些基本點基本的認識,現(xiàn)在是該切入正題的時候了,詳細學(xué)習(xí)一下,如何重載左移與右移操作符。
1.有流對象的成員函數(shù)。
例如,下列程序以成員函數(shù)的方式控制輸出的精度:
//程序作者:管寧
//站點:www.cndev-lab.com
//所有稿件均有版權(quán),如要轉(zhuǎn)載,請務(wù)必出處和作者
#include
using namespace std;
int main()
{
float pi=3.14159f;
cout< cout.precision(2);
cout< system("pause");
}
2.使用C++輸入輸出控制符,控制符是在拖文件iomanip.h中定義的對象,與成員函數(shù)有一樣的效果,控制符不必像成員函數(shù)學(xué)那樣單獨調(diào)用,它可以直接插入流中使用。
例如,下列程序以控制符的方式控制輸出的精度:
//程序作者:管寧
//站點:www.cndev-lab.com
//所有稿件均有版權(quán),如要轉(zhuǎn)載,請務(wù)必出處和作者
#include
#include
using namespace std;
int main()
{
float pi=3.14159f;
cout< cout< cout< system("pause");
}
下表我們列出了一些比較常用的控制符號,由于篇幅有限讀者請根據(jù)自己的需要查閱相關(guān)書籍:
控制符 描述
Dec 置基數(shù)為10
Hex 置基數(shù)為16
Oct 置基數(shù)為8
Endl 插入換行符,并刷新流
Ends 插入空字符
setfill? 設(shè)填充字符為c
setprecision(n) 設(shè)顯示小數(shù)精度為n位
setw(n) 設(shè)域?qū)挒閚個字符
setiosflags(ios::fixed) 固定的浮點顯示
setiosflags(ios::scientific) 科學(xué)計數(shù)法
setiosflags(ios::left) 左對齊
setiosflags(ios::right) 右對齊
setiosflags(ios::skipws) 忽略前導(dǎo)空白
setiosflags(ios::uppercase) 16進制數(shù)大寫輸出
setiosflags(ios::lowercase) 16進制數(shù)小寫輸出
對于iostream標準庫來說包含了眾多的成員函數(shù),各函數(shù)都有其自身的作用,篇幅問題筆者在這里不能一一說明例舉,由于標準輸入對象cin提供輸入的時候會自動以空格作為分界,給我們獲取一行帶有空格的完整字符串帶來了困難,在這里補充一個非常用有的成員函數(shù)----getline()。
其函數(shù)原型為:
getlin(chiar *str,int size,char='\n');
第一個參數(shù)是字符數(shù)組,用于存放整行文本,第二個參數(shù)讀取的字符個數(shù),第三個參數(shù)為作為分界界限的字符,默認識是\n,換行符。
示例代碼如下:
//程序作者:管寧
//站點:www.cndev-lab.com
//所有稿件均有版權(quán),如要轉(zhuǎn)載,請務(wù)必出處和作者
#include
#include
using namespace std;
int main()
{
char str[100];
cin.getline(str,sizeof(str),'\n');
cout< system("pause");
}
通過上面內(nèi)容的學(xué)習(xí),我們對i/o有了一些基本點基本的認識,現(xiàn)在是該切入正題的時候了,詳細學(xué)習(xí)一下,如何重載左移與右移操作符。