C 語言io流處理基本操作教程示例詳解

2022-09-25 03:18:07 字數 3565 閱讀 4726

目錄

cout:標準輸出流

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

cin:   標準輸入

輸出字元 put()

輸入字元:get()

輸出字串:write()

輸入字串getline()

char ch;

cin.get(ch);

cout << ch程式設計客棧;//要初始化不然會出現輸出後最後無/0導致輸出燙燙燙...

cin.getline(str, 20);//這裡更安全只能輸入20個 多了只取前面20個

cout.write(str,20);

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

要加上標頭檔案#incude

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')

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

字元流一般使用stringstream的物件

包括isringstreamostingstreamstringstream

一般用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<> 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//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())

if (!file)

檔案的讀寫操作

fstream read("1.txt",ios::in);//讀的方式開啟檔案///要有這個檔案

fstream write("2.txt",ios::out|ios::trunc);

//寫的方式開啟檔案//沒有這個檔案就建立乙個

while (1)

write.put(ch);

} read.close();

write.close();

ifstream://讀

&nb程式設計客棧sp;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;

空格也算

檔案的一些指向操作

fstream read("1.txt", ios::in);

read.seekg(5);//移動5個位元組後

char ch = read.get();//讀取5個位置後的第乙個

cout << ch <

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操作

include include 讀取文字檔案 int main char path users shaoshuaima workspace xcode c 01 c 01 files friends.txt file fp fopen path,r if fp null printf 檔案開啟失敗....

IO流操作基本規律總結

1 明確源和目的 源 輸入流 inputstream reader 目的 輸出流 outstream writer 2.操作的資料是否是純文字 是 字元流 reader writer 否位元組流 inputstream outputstream 3 體系明確後,要確定使用哪個具體物件 根據裝置分 源...

C 之檔案IO操作流

檔案指存放在外部介質上的資料的集合。大家都知道作業系統是以檔案為單位來對資料進行管理的。因此如果你要查詢外部介質的資料,則先要按檔名找到指定檔案,然後再從檔案中讀取資料,如果要把資料存入外部介質中,如果沒有該檔案,則先要建立檔案,再向它輸入資料。由於檔案的內容千變萬化,大小各不相同,為了統一處理,在...