第 9 章 c++ 的文件操作
DESCRIPTION
第 9 章 C++ 的文件操作. “ 文件 ” ,一般是指内存以外的存储介质上一批数据的集合。 C++ 在语言层次上提供了文件操作的一系列函数用于完成文件的操作,打开、关闭文件,读取、写入文件数据等操作。. 1 。字符文件与二进制文件 字符文件 :又称 ASCII 文件或文本 TEXT 文件,它是以一个字节存放一个 ASCII 码,代表一个字符。例如, 32767 需要使用 5 个字节表示,即 : 51 50 55 54 55 ( 十进制表示的 ASCII) ,而浮点数 136.56 需要使用 6 个字节表示,即 49 51 54 46 53 54 。. - PowerPoint PPT PresentationTRANSCRIPT
-
9 C++ C++ 1 ASCIITEXTASCII327675: 51 50 55 54 55 (ASCII)136.56649 51 54 46 53 54
-
136.56float44float4 011111111111111101111111111111110011001100111110001101110011011000110111ASCII3276732767
-
ASCII,,,, 2
-
3 C++fstream.hifstream ofstreamfstream
C++(1). ifstream infile; ofstream outfile; fstream iofile;
- (2). (3). >>
-
ifstream infile;ofsream outfile;fstream file;infile.open(myfile_in.txt); //outfile.open(myfile_out.txt);//file.open(myfile.txt, ios::in);// ifstream infile(myfile_in.txt);ofstream outfile(myfile_out.txt);fstream file(myfile.txt, ios::in);
-
(2)
ios.henum open_mode{in = 0x01, //00000001out = 0x02,//00000010ate = 0x04,//00000100app = 0x08,//00001000 trunc = 0x10,//00010000 nocreate = ox20,//00100000noreplace = 0x40,//01000000binary = 0x80//10000000};
-
|ios::out | ios::ate //ios::in | ios::binary//ios::out | ios::trunc//
-
ios::inios::outios::app ios::ateios::inios::ateios::appios::trunc0ios::outios::app, ios::ate, ios::inios::nocreateios::noreplaceios::ateios::appios::binary
-
:ifstreamopenopen(const char *, int = ios::in, int = filebuf::openprot);ios::in;
ofstreamopenopen(const char *, int = ios::out, int = filebuf::openprot);ios::out;
fstreamopenopen(const char *, int, int = filebuf::openprot);(3) close
-
ifstreamofstreamfstreamclose( ); infile.close( ), outfile.close( ), file.close( ); (4) 0
ifstream f1(file.dat);if(!f1){cout
- char filename[256];coutfilename;ofstream f5;f5.open(filename);if(!f5){cout
- #include#includevoid main(void){char filename_in[256], filename_out[256];cout>filename_out;ifstream infile(filename_in);//ifstream infile;if(!infile){//infile.open(filename_in);cout
-
2 char ch; // while(infile.get(ch)) // outfile.put(ch); //ch infile.close( ); outfile.close( );
3 char buff[300]; while(infile.getline(buff,300)) //\noutfile
-
6C++ C++read( )write( )read(char *buf, int size); sizebufwrite(char *buf, int size);bufsize
- 1~500data.dat#include#includevoid main(void){ ofstream outfile("d:\\source\\data.dat",ios::out|ios::binary);if(!outfile){cout
- data.dat10 #include#includevoid main(void){ifstream infile("d:\\source\\data.dat",ios::binary);if(!infile){cout
-
4While(!infile.eof( )){infile.read(buf, 4096);outfile.write(buf, 4096);} //eof( )00
-
7 C++C++istreamostreamistream seekg(long streampos);stramposseekg(long streamoff, seek_dir);seek_dirstreamofftellg( );
-
ostream seekp(long streampos);stramposseekp(long streamoff, seek_dir);seek_dirstreamofftellp( );
Seek_dirios::beg0ios::cur1ios::end2
-
infile.seekg(500);//500infile.seekg(-100,ios::cur); //100infile.seekg(100,ios::cur);//100outfile.seekp(-100,ios::end);//100
1.streamoff 2. 0
- 5~100020~30#include#includevoid main(void){ ofstream outfile(data.dat,ios::out|ios::binary); int i; for(i=5;i
- A129999#include#include#includevoid main(void){int num, i;fstream fp;fp.open("a:\\data1.txt",ios::in|ios::out|ios::binary);if(!fp){cout
- 9.9C++>>
- inventory::inventory(string des,string no,int quan, double cost,double ret){ Description=des; No=no; Quantity=quan; Cost=cost; Retail=ret;}ostream &operator
- int main( ){ inventory car1("2000","805637928",156,80000,105000),car2; inventory motor1("125","93612575",302,10000,13000),motor2; ofstream distfile("d:\\Ex9_9.data"); distfile