C++文件的读取操作 C++文件的写入操作 a basic_istream& read( char_type*_Str, te( const char_ type *_Sir, streamsize_Count ) Parameters a Parameters ■保存数据的缓冲区 将要写入的数据 Count ■Cont 将要读取的数据量(以char,及字节为单位 写入的数据量,以字节为单位 ■思考 为什么read/ write的返回值不是nt,代表处理了多少个 数据?对照函数: size t fread(void*date, suze t siz size_t len, FILE*fp C++文件的写入操作 C++文件处理的示例 ■因为C++文件的操作符问题 C++的文件可以利用操作符来简单的使用: fs>>c;读取 ofs<<c写入c tream fsc"test. txt"os_base:n ios-basexout); ■C++文件的读写可以按照下面的方式使用 a(E s. write (str, sizeof(char)*strlen (str). write(str, sizeof(char)*strl cout<<"error on openning\n"; 如果用操作符来看,就是f<<str<<str lar str"This is the test line ■如果返回set,就不能是用f<<str<st这种方式。 C++文件处理的示例(续) bmp文件的处理示例 a fs seekg(,os_base: beg) ■问题 har str2[100), str3(100]: ■对于一个bmp位图进行读写,掌握了这种 fs. read (str2, strlen(str) 法,以后,可以自己练习读写wav文件,并且 str2[ strlen(str)E\0 可以制作简单的wav文件处理程序。为了简单 fs>>str3: 起见,这里假设处理的是24bit的rgb非压缩的 printf"os\n os\n",str2, str3) 件格式 fs. close; return u ■为了p的简洁,后面的示例没有注释4 C++文件的读取操作 basic_istream& read( char_type *_Str, streamsize _Count ); Parameters _Str 保存数据的缓冲区. _Count 将要读取的数据量(以char,及字节为单位). C++文件的写入操作 basic_ostream& write( const char_type *_Str, streamsize _Count ); Parameters _Str 将要写入的数据 _Count 写入的数据量,以字节为单位。 思考: 为什么read/write的返回值不是int,代表处理了多少个 数据? 对照函数:size_t fread(void * date, size_t size , size_t len , FILE * fp); C++文件的写入操作 因为C++文件的操作符问题. C++的文件可以利用操作符来简单的使用: ifs>>c; 读取c; ofs<<c;写入c; C++文件的读写可以按照下面的方式使用: (fs.write(str,sizeof(char)*strlen(str))).write(str,sizeof(char)*strl en(str)); 如果用操作符来看,就是fs<<str<<str; 如果返回size_t,就不能是用fs<<str<<str这种方式。 C++文件处理的示例 #include<iostream> #include<fstream> using namespace std; int main() { fstream fs("test.txt",ios_base::in|ios_base::out); if(!fs) { cout<<"error on openning\n"; return -1 } char * str="This is the test line"; fs.write(str,strlen(str)); fs<<"print="<<str; C++文件处理的示例(续) fs.seekg(0,ios_base::beg); char str2[100],str3[100]; fs.read(str2,strlen(str)); str2[strlen(str)]='\0'; fs>>str3; printf("%s\n%s\n",str2,str3); fs.close(); return 0; } bmp文件的处理示例 问题: 对于一个bmp位图进行读写,掌握了这种方 法,以后,可以自己练习读写wav文件,并且 可以制作简单的wav文件处理程序。为了简单 起见,这里假设处理的是24bit的rgb非压缩的 bmp文件格式。 为了ppt的简洁,后面的示例没有注释