C语言的打开文件操作 FILE *fopen const char filename, const char 米m0d) 参数 a filename ■文件名 ■me ■打开的模式,权限,格式 ■ Return value ■返回一个指向打开的文件的指针,如果打开文件错 误,则返回NUIL
C语言的打开文件操作 语言的打开文件操作 FILE *fopen( const ( const char *filename filename, const char *mode ); 参数 filename filename 文件名 mode 打开的模式,权限,格式 打开的模式,权限,格式 Return Value Return Value 返回一个指向打开的文件的指针,如果打开文件错 返回一个指向打开的文件的指针,如果打开文件错 误,则返回NULL
文件的读写模式 打开一个文件用于读取数据,如果文件不存在,则打开失败,返回 ■打开一个文件用来写入数据,如果文件不存在,则创建新文件,如果文 件存在,则清空原始文件 ■打开一个文件用于追加数据,如果文件不存在,则创建新文件 ■"r+ 打开一个文件进行读写,如果文件不存在,则打开失败,返回NULL 红于则菇棒?:如果文件不存在,则创建新文件,如果文件存 a 开一个文件用来读取或者追加数据,如果文件不存在,则创建新文
文件的读写模式 文件的读写模式 "r" 打开一个文件用于读取数据,如果文件不存在,则打开失败,返回 NULL。 "w" 打开一个文件用来写入数据,如果文件不存在,则创建新文件,如果文 件存在,则清空原始文件!!!。 "a" 打开一个文件用于追加数据,如果文件不存在,则创建新文件。 "r+" 打开一个文件进行读写,如果文件不存在,则打开失败,返回NULL。 "w+" 打开一个文件进行读写,如果文件不存在,则创建新文件,如果文件存 在,则清空原始文件!!!。 "a+" 打开一个文件用来读取或者追加数据,如果文件不存在,则创建新文 件
文件的打开格式 ■以文本格式打开文件。 b ■以2进制的方式打开文件。不对文件的回车和换 行进行转换。 汪 t/b标签必须放在r/w/a的后面。 FIE*fp= fopen( test. txt,wt");正确 FIE*fp= fopen( test. txt";tw”);错误
文件的打开格式 文件的打开格式 t 以文本格式打开文件。 以文本格式打开文件。 b 以 2进制的方式打开文件。不对文件的回车和换 进制的方式打开文件。不对文件的回车和换 行进行转换。 注意: t/b标签必须放在r/w/a的后面。 FILE *fp =fopen( “test.txt test.txt”,“wt ”);正确 FILE *fp =fopen( “test.txt test.txt”,“tw ”);错误
C文件操作示例 #includes stdio.h> #include<string. h> int mainO FILE fp=fopen("test. txt", w+t); printf( erroe on openning!\n return-1 char strs/Ir This is the test line fwrite(str, sizeof(char), strlen(str), p) fpr printf(p, print=%/os",str)
C文件操作示例 #include< #include<stdio.h stdio.h> #include< #include<string.h string.h> int main() { FILE *fp=fopen("test.txt","w+t fopen("test.txt","w+t"); if(!fp) { printf("erroe printf("erroe on openning! openning!\n"); return -1; } char * str="This is the test line"; ="This is the test line"; fwrite(str,sizeof(char),strlen(str),fp fwrite(str,sizeof(char),strlen(str),fp); fprintf(fp,"print fprintf(fp,"print= %s",str);
C文件操作示例(续) a fseek(p, O,SEEK_SET) har str2100,st:3{1001 size_t len=fread(str2, sizeof(char), strlen(str), fp) str2[]='\ fscanf(fp, print=%os",str3) printf("%/os(n%os\n", str2, str3) fclose(tp) return o
C文件操作示例(续) 文件操作示例(续) fseek(fp,0,SEEK_SET); fseek(fp,0,SEEK_SET); char str2[100],str3[100]; char str2[100],str3[100]; size_t len=fread(str2,sizeof(char),strlen(str),fp); =fread(str2,sizeof(char),strlen(str),fp); str2[len]=' str2[len]='\0'; fscanf(fp,"print fscanf(fp,"print = %s",str3); = %s",str3); printf("%s printf("%s\n%s\n",str2,str3); n",str2,str3); fclose(fp fclose(fp); return 0; return 0; }