文件的读写模式 文件的打开格式 一个文件用于读取数据,如果文件不存在,则打开失败,返回 ■以文本格式打开文件 杯在个商雋嬰淼孬释:果文件不存在,则创建新文件,如果文 ■以2进制的方式打开文件。不对文件的回车和换 打开一个文件用于追加数据,如果文件不存在,则创建新文件 行进行转换 打开一个文件进行读写,如果文件不存在,则打开失败,返回NUL 注意 轻开则需瓞蹉芟釋罗:果 t/b标签必须放在r/w/a的后面。 FIE*fp= fopen(stsr";wt);正确 打开一个文件用来读取或者追加数据,如果文件不存在,则创建新文 ■FIE*p= fopen( est. txt,"w),错误 C文件操作示例 C文件操作示例(续) #include<stdio.h> ■■■ a fseek(Ep, 0, SEEK_SET) #inchude<string. h> char str 2(100), str3 [1001 size_t len=fread(str 2, sizeof(char), strlen(str), fp); FILE'fp=fopen( test.txt", w+t); str2[en]=\0 printf"%os\n%os\n", str2, str3); char str= This is the test line fwrite(str, sizeof(char), strlen(str), p) ■ fprintf(p," print=°as"str C++的文件流操作 C++的文件流操作 s basic_fstream( const char * Filename, 可以创建的文件流包含 ios_base: : openmode_Mode= ios_ base in I ■输入文件流 ios_base: :out ) ifstream ifs( filename" ,ios base:in;两种打开方式 构造一个 basic_ istream类型 ■输出文件流 a Parameters a ofstream ofs (filename ,ios_base: out); ■输入输出文件流 要打开的文件名。 fstream fs; fs.open( filename ,ios_base base: out) Mode 打开模式, ios_hasesopenmode的一些枚举的组合2 文件的读写模式 "r" 打开一个文件用于读取数据,如果文件不存在,则打开失败,返回 NULL。 "w" 打开一个文件用来写入数据,如果文件不存在,则创建新文件,如果文 件存在,则清空原始文件!!!。 "a" 打开一个文件用于追加数据,如果文件不存在,则创建新文件。 "r+" 打开一个文件进行读写,如果文件不存在,则打开失败,返回NULL。 "w+" 打开一个文件进行读写,如果文件不存在,则创建新文件,如果文件存 在,则清空原始文件!!!。 "a+" 打开一个文件用来读取或者追加数据,如果文件不存在,则创建新文 件。 文件的打开格式 t 以文本格式打开文件。 b 以2进制的方式打开文件。不对文件的回车和换 行进行转换。 注意: t/b标签必须放在r/w/a的后面。 FILE *fp=fopen(“test.txt”,“wt”);正确 FILE *fp=fopen(“test.txt”,“tw”);错误 C文件操作示例 #include<stdio.h> #include<string.h> int main() { FILE *fp=fopen("test.txt","w+t"); if(!fp) { printf("erroe on openning!\n"); return -1; } char * str="This is the test line"; fwrite(str,sizeof(char),strlen(str),fp); fprintf(fp,"print= %s",str); C文件操作示例(续) fseek(fp,0,SEEK_SET); char str2[100],str3[100]; size_t len=fread(str2,sizeof(char),strlen(str),fp); str2[len]='\0'; fscanf(fp,"print = %s",str3); printf("%s\n%s\n",str2,str3); fclose(fp); return 0; } C++的文件流操作 basic_fstream( const char *_Filename, ios_base::openmode _Mode= ios_base::in | ios_base::out ); 构造一个basic_fstream类型. Parameters _Filename 要打开的文件名。 _Mode 打开模式, ios_base::openmode的一些枚举的组合. C++的文件流操作 可以创建的文件流包含: 输入文件流: ifstream ifs(“filename”,ios_base::in);两种打开方式。 输出文件流: ofstream ofs(“filename”,ios_base::out); 输入输出文件流: fstream fs; fs.open(“filename”,ios_base::in|ios_base::out)