C 檔案操作

2021-09-08 08:36:10 字數 2601 閱讀 7122

c++用 ifstream 宣告輸入檔案物件,用 ofstream 宣告輸出檔案物件。

getline的使用:(感覺有點像孔乙己的茴香豆的 茴 的寫法了)

#include

#include

#include

using namespace std;

int main()

ifstream infile("getline.txt",ios::in | ios::binary);

char buf1_1[30];

string buf1;

char buf2[30];

///

注意這裡getline的兩種不同的函式定義,輸入緩衝乙個需要string型別()

///

另乙個需要char* 型別()

getline(cin,buf1);//istream& getline ( istream& is, string& str ); 

cin.getline(buf1_1,30); ///

/*

istream& getline (char* s, streamsize n );

istream& getline (char* s, streamsize n, char delim );

*/

infile.getline(buf2,30,'a');

/*

istream& getline (char* s, streamsize n );

istream& getline (char* s, streamsize n, char delim );

//delime表示遇到該字元結束,也可以不使用

*/

cout << "buf1: "<< buf1

使用ofstream簡化檔案輸出(不用使用fwrtie):

ofstream examplefile ("example.txt");

if (examplefile.is_open())

examplefile << "this is a line.\n";  //直接將該字串寫入到examplefile檔案中

examplefile << "this is another line.\n";

examplefile.close();

使用ifstream簡化檔案輸入(不用使用fread):

char buffer[256];

ifstream examplefile ("example.txt");

if (!examplefile.is_open())

cout << "error opening file";

exit (1);//include

while (!examplefile.eof() )

examplefile.getline (buffer,100);

cout << buffer << endl;

使用c++ seek

const char * filename = "example.txt";

char * buffer;

long size;

ifstream file (filename, ios::in|ios::binary|ios::ate);

(0, ios::end); //因為上面使用了ios::ate 所以這裡不用seek end了

size = file.tellg();//tellg獲取當前讀檔案的位置,這裡也就是檔案大小

說明

獲取或者移動檔案製作,對於tellg、seekg 來說是針對ifstream

對於tellp、seekp來說是針對ofstream

seekp 或 seekg:

ios::beg  from beginning of stream

ios::cur  current position in stream

ios::end  from end of stream

buffer = new char [size + 1];

file.seekg(0,ios::beg);//在將檔案指標移回來以便讀入

file.read(buffer, size); //istream& read ( char* s, streamsize n );

buffer[size] = '\0';

file.close();

cout << "size: "

file_out.write(buffer,size);//這裡寫了兩次主要是為了證明

delete buffer;

附:(檔案開啟模式)

C 檔案操作與C 的檔案操作

c filestream 檔案流 主要用於使用二進位制方式讀寫檔案資料,可讀取任何檔案 建立filestream物件 e 建立filestream物件 filemode 指定系統開啟檔案的方式filestream fileaccess 指定檔案的訪問方式 read唯讀,write只寫,readwri...

C 檔案操作

c 追加檔案 sw.writeline 追逐理想 sw.writeline kzlll sw.writeline net筆記 sw.flush sw.close c 拷貝檔案 string orignfile,newfile file.copy orignfile,newfile,true c 刪除...

C 檔案操作

c 檔案操作 軒軒 發表於 2006 2 18 12 40 16 在c 中,有乙個stream這個類,所有的i o都以這個 流 類為基礎的,包括我們要認識的檔案i o,stream這個類有兩個重要的運算子 1 插入器 向流輸出資料。比如說系統有乙個預設的標準輸出流 cout 一般情況下就是指的顯示器...