中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

C++語言中io流如何處理

發布時間:2021-11-18 10:42:48 來源:億速云 閱讀:147 作者:小新 欄目:開發技術

這篇文章主要介紹了C++語言中io流如何處理,具有一定借鑒價值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。

    一、輸入輸出流對象

    cout:標準輸出流

    cerr:標準出湊  和cout(只是用于如果是錯誤時要輸出的)

    cin  :   標準輸入

    流對象常用的處理函數

    輸出字符 put()

    輸入字符:get()

    輸出字符串:write()

    輸入字符串getline()

    char ch;
    	cin.get(ch);
    	cout << ch<<endl;
    	cout.put(ch);
    	getchar();//用來消除回車的
    	cout << endl;
    	//字符串的輸入輸出
    	char str[20] = "";//要初始化不然會出現輸出后最后無/0導致輸出燙燙燙...
    	cin.getline(str, 20);//這里更安全只能輸入20個 多了只取前面20個
    	cout.write(str,20);

    流控制字符

    //就是以你制定的要求去輸出

    要加上頭文件#incude<iomanip>

    boolalpha:  bool類型輸出true或者false

    setbase(n):設置整數為n的進制進行輸出 n只能為8 16 10

    int num = 10;
    	cout << setbase(8) << num << endl;
    	cout << setbase(10) << num << endl;
    	cout << setbase(16) << num << endl;

    setfill(‘一個字符') : 設置填充字符

    setw(n):設置輸出的寬度

    int num = 10;
    cout<< setfill('s')<<setw(8) << num;

    setprecision :設值有效位數包括整數

    	double num = 3.14159;
    	cout << setprecision(4) << num << endl;
    	cout << setprecision(4) << num * 10 << endl;

    前面一個是3.141后面一個是31.41

    setiosflags(ios::left)//對齊方式左對齊setiosflagsios(ios:right)右對齊

    二、字符流操作

    頭文件 #include<sstream>

    字符流一般使用stringstream的對象

    sstream

    包括 isringstream  ostingstream  stringstream

    一般用stringstream(可讀可寫)

    stringstream的成員函數

    string.str()//獲取字符流對象中的字符串

    string.str(const string&str)//改變字符流中的字符串

    stringstream s("sdflk");
    	cout << s.str() << endl;
    	s.str("ljsflk");
    	s.str(string("sdljf"));
    	//二種都可以 一個是構建一個string的無名對象傳字符串
    	cout << s.str() << endl;

    字符流的一些基本操作

    將數字轉換為字符串
    int num =1234;
    cout<<to_string(num)<<endl//以字符串輸出num
    stringstream stream;
    stream << num;//將num流入stream這個類中
    stream >> str;//stream流出到str這個字符串中
    cout << str << endl;

    同時使用一個流對象多次轉換的時候 必須使用clear清除同時也要二次流入在流出

    不然是空流

    stringstream stream;
    	stream << num;//將num流入stream這個類中
    	stream >> str;//stream流出到str這個字符串中
    	cout << str << endl;
    	string str2;
        //如果沒有clear函數就沒有把num流入到num2
    	stream.clear();
    	stream << num;
    	stream >> str2;
    	cout << str2 << endl;

    三. 文件流流類

     頭文件 #include<fstream>//ifstream 和ofstream

    ofstream:打開文件,寫文件

    ifstream:打開文件,讀操作

    fstream:可讀可寫

    mode:

    ios::in 讀的方式打開文件

    ios::out 寫的方式打開文件

    ios::app追加的方式寫文件

    ios::ate 在已有的文件,文件指針指向文件末尾

    ios::trunc文件不存在,創建文件

    ios::binary二進制形式打開文件,默認方式是ascii碼方式打開

    ios::nocreat不創建的方式

    ios::noreplace 不替換

    組合方式使用 

    用的是位或

    ios::in|ios::out 可讀寫

    ios::out|ios::binary二進制寫的方式打開文件

    判斷文件是不是打開成功(防御性操作)

    is_open()判斷打開是否成功

    !文件對象  判斷打開文件是否成功

    	fstream File;
    	File.open("1.tex", ios::in | ios::out | ios::trunc);
    	if (!File.is_open())
    	{
    		cout << "創建文件失敗" << endl;
    	}
    	if (!File)
    	{
    		cout << "創建文件失敗" << endl;
    	}

     文件的讀寫操作

    fstream Read("1.txt",ios::in);//讀的方式打開文件///要有這個文件
    fstream Write("2.txt",ios::out|ios::trunc);
    //寫的方式打開文件//沒有這個文件就創建一個
    	while (1)
    	{
    		char ch;
    		Read.get(ch);
    		if (Read.eof())
    		{
    			break;
    		}
    		Write.put(ch);
    	}
    	Read.close();
    	Write.close();

    四.文件指針定位

     ifstream://讀

           istream&seekg(longt int pos);

           istream&seekg(long int pos,ios_base::seekdir begin)

    ofstream://寫

            ostream&seekp(long int pos):

            ostream&seekp(long int pos,ios_base::seekdir begin);

    //ios_base::seekdir//位置

    ios::beg 文件開始

    ios::cur 文件當前

    ios::end 結束位置

    fstream read("1.txt", ios::in);
    	read.seekg(5);//移動5個字節后
    	char ch = read.get();//讀取5個位置后的第一個
    	cout << ch << endl;

    C++語言中io流如何處理

    空格也算

    文件的一些指向操作

    	fstream read("1.txt", ios::in);
    	read.seekg(5);//移動5個字節后
    	char ch = read.get();//讀取5個位置后的第一個
    	cout << ch << endl;
    	read.seekg(0, ios::beg);
    	ch = read.get();
    	cout << ch << endl;
    	read.seekg(-5, ios::end);//最后位置前面5個
    	ch = read.get();
    	cout << ch << endl;

    感謝你能夠認真閱讀完這篇文章,希望小編分享的“C++語言中io流如何處理”這篇文章對大家有幫助,同時也希望大家多多支持億速云,關注億速云行業資訊頻道,更多相關知識等著你來學習!

    向AI問一下細節

    免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

    AI

    栾城县| 新沂市| 连平县| 万宁市| 拉孜县| 昌都县| 福鼎市| 舒兰市| 鹤庆县| 青田县| 肇庆市| 西和县| 休宁县| 廉江市| 静乐县| 百色市| 镇沅| 确山县| 那坡县| 朝阳县| 绵阳市| 迭部县| 阿勒泰市| 孙吴县| 木兰县| 溧阳市| 望都县| 扎鲁特旗| 邓州市| 南昌县| 阿巴嘎旗| 镇赉县| 无为县| 新乐市| 宾川县| 金阳县| 西昌市| 杭锦后旗| 凤山市| 潍坊市| 五原县|