C 學習 輸入輸出

2021-10-21 17:36:30 字數 2204 閱讀 4826

程式的輸入指的是從輸入檔案將資料傳送給程式,程式的輸出指的是將資料傳送給輸出檔案

標準i/o:鍵盤輸入,輸出到顯示器螢幕

檔案i/o:磁碟檔案輸入,輸出到磁碟檔案

串i/o:字元陣列作為儲存空間(實際上可以利用該控制項儲存任何資訊)

char c = cin.get();  //一次只能輸入乙個字元

cout << "c = " << c << endl;

char buf[1024];

cin.get(buf, 1024); //可以讀取字串 讀取字串時,不會把換行符拿走

char c1 = cin.get();

cout << "buf = " << buf << endl;

char buf1[1024];

cin.getline(buf1, 1024); //可以讀取字串 讀取字串時,會把換行符拿走

cout << "buf1 = " << buf1 << endl;

cin.ignore(); //忽略乙個字元

cin.ignore(2); //忽略兩個字元

char c3 = cin.get();

cout << "c3 = " << c3 << endl;

char c4 = cin.peek(); //輸入as, 偷看一眼a,然後再放回緩衝區,緩衝區中還是as

cout << "c4 = " << c4 << endl;

c4 = cin.get();

cout << "c4 = " << c4 << endl;

char c5 = cin.get();

cin.putback(c5); //拿走後又放回

char buf2[1024];

cin.getline(buf2, 1024);

cout << "buf2 = " << buf2 << endl;

標準輸入流案例

int num;

cout << "請輸入乙個1到10的數字:" << endl;

while (true)

cin.clear(); //清空標誌位 有可能輸入乙個字元,那麼就需要修改標誌位,否則會出錯

//清空緩衝區,但這個在vs2017上不適用

cin.ignore();

//cout << "請重新輸入" << endl;

cout << "標誌位:" << cin.fail() << endl;

}

重新整理緩衝區linux下有效

void test01()

格式化輸出

int number = 99;

cout << setw(20)

<< setfill('*')

<< setiosflags(ios::showbase)

<< setiosflags(ios::left)

<< hex

<< number

<< endl;

cout.width(20);

cout.fill('*');

cout.setf(ios::left);

cout.unsetf(ios::dec);

cout.setf(ios::hex);

cout.setf(ios::showcase);

cout.unsetf(ios::hex);

cout.setf(ios::oct);

#include

寫檔案

void test01()

ofs << "姓名:abc" << endl;

ofs.close()

}

讀檔案

void test02()

//第一種讀取方式:按行讀取

char buf[1024];

while (ifs >> buf)

//第二種讀取方式

char buf1[1024];

while (!ifs.eof()) //eof讀到檔案尾

//第三種讀取方式:按單個字元讀取

char c;

while (c = ifs.get() != eof) //eof檔案尾

}

C 學習 輸入輸出

標準型別的資料可以通過對cout物件執行流插入運算 來實現。流插入運算是乙個二元運算子。對於cout 123,它的第乙個運算物件是輸出流物件cout,第二個運算物件乙個二元運算子。有插入入運算的返回值為第乙個引數的引用。所以劉插入運算允許連續使用。如cout 字元型資料還可以用成員函式put來輸出。...

C 學習 IO 輸入 輸出

一 格式化字串,常用規則的如下 我覺得c風格的輸入輸出比c 中的好用的多。格式化字串比一堆堆 連線的變數名更為直觀,也更方便 flags width perc f n h l type type d s u x x f p等 這個最為常用,大家都熟悉 flags 無 右對齊,左對齊,注意左對齊是不能...

c 輸入輸出 scanf printf 學習

一 首先是基本的輸入 如scanf d d d d d d h1,m1,s1,h2,m2,s2 由於我的開發環境,我用的是scanf s作用一樣但不會報錯。注意幾個轉意的符號,且在前面一段中加入分隔符,代表從緩衝區讀取資料的格式。如 d,用來輸出十進位制整數 c,用來輸出乙個字元 s,用來輸出乙個字...