建网站哪个好,福州seo公司,平面设计画册设计,wordpress5.0.2 zh_cn1.建文件夹 int _mkdir(const char *path,mode_t mode); 函数名: _mkdir 功 能: 建立一个目录 用 法: int _mkdir( const char *dirname ); 头文件库#xff1a;direct.h 返回值#xff1a;创建一个目录#xff0c;若成功则返回0#xff0c;否则返回-1… 1.建文件夹 int _mkdir(const char *path,mode_t mode); 函数名: _mkdir 功 能: 建立一个目录 用 法: int _mkdir( const char *dirname ); 头文件库direct.h 返回值创建一个目录若成功则返回0否则返回-1 2.打开文件fopen()
函数功能 打开一个文件 函数原型FILE * fopen(const char * path,const char * mode); 所需库 stdio.h 返回值 文件顺利打开后指向该流的文件指针就会被返回。如果文件打开失败则返回NULL并把错误代码存在errno 中。
一般而言打开文件后会作一些文件读取或写入的动作若打开文件失败接下来的读写动作也无法顺利进行所以一般在fopen()后作错误判断及处理。 if((fin fopen(a.txt,r)) NULL) printf(Open file error.\n);
参数说明 参数path字符串包含欲打开的文件路径及文件名参数mode字符串则代表着流形态。 mode有下列几种形态字符串: 常用的就前几个后面用到了再查不用记 r 以只读方式打开文件该文件必须存在。 w 打开只写文件若文件存在则文件长度清为0即该文件内容会消失。若文件不存在则建立该文件。 a 以附加的方式打开只写文件。若文件不存在则会建立该文件如果文件存在写入的数据会被加到文件尾即文件原先的内容会被保留。EOF符保留
rb 为输入打开一个二进制文件。 wb 只写打开或新建一个二进制文件只允许写数据。 ab 向二进制文件尾添加数据
r 以可读写方式打开文件该文件必须存在。 w 打开可读写文件若文件存在则文件长度清为零即该文件内容会消失。若文件不存在则建立该文件。 a 以附加方式打开可读写的文件。若文件不存在则会建立该文件如果文件存在写入的数据会被加到文件尾后即文件原先的内容会被保留。 原来的EOF符不保留
rb 读写打开一个二进制文件只允许读数据。 wb 读写打开或建立一个二进制文件允许读和写。 ab 读写打开一个二进制文件允许读或在文件末追加数据。
rt 读写打开一个文本文件允许读和写。 wt 读写打开或着建立一个文本文件允许读写。 at 读写打开一个文本文件允许读或在文本末追加数据。 上述的形态字符串都可以再加一个b字符如rb、wb或ab等组合加入b 字符用来告诉函数库打开的文件为二进制文件而非纯文字文件。 不过在POSIX系统包含Linux都会忽略该字符。由fopen()所建立的新文件会具有S_IRUSR|S_IWUSR|S_IRGRP|S_IWGRP|S_IROTH|S_IWOTH(0666)权限此文件权限也会参考umask 值。 有些C编译系统可能不完全提供所有这些功能有的C版本不用r,w,a,而用rw,wr,ar等读者注意所用系统的规定。 3.关闭文件 fclose() 在使用完一个文件后应该关闭它以防止它再误用关闭就是指文件指针变量不指向该文件也就是文件指针变量与文件脱钩此后不能再通过该指针对原来与其相联系的文件进行读写操作。除非再次打开使该指针变量重新指向该文件。 用 fclose 函数关闭文件fclose 函数调用的一般形式为 fclose(文件指针); 例如 fclose(fp); 应该养成在程序终止之前关闭所有文件的习惯如果不关闭文件将丢失数据。因为如前所述在向文件写数据时是先将数据输到缓冲区待缓冲区充满后才正式输出给文件如果当数据未充满缓冲区而程序结束运行就会将缓冲区中的数据丢失用 fclose 函数关闭文件可以避免这个问题它先把缓冲区中的数据输出到磁盘文件然后才释放文件指针变量。 fclose 函数也带回一个值当顺利地执行了关闭操作则返回值为 0 否则返回 EOF (-1) 。可以用 ferror 函数来测试。 下面用一个程序来说明上面几个函数用法
将a.txt拷贝到/test目录下,名字也为a.txt [cpp] view plaincopy /** * Author: Gneveek * Data: 2011-10-6 * Descripition: Clock Chens Homework : File operation #1 * 一、将a.txt拷贝到/test目录下,名字也为a.txt */ #include stdio.h #include direct.h //用 _mkdir()创建一个文件夹目录 int main() { _mkdir(test); char c; FILE *fin, *fout; if((fin fopen(a.txt,r)) NULL) printf(Im so sorry,Open file error.\n); if((fout fopen(test\\a.txt,w)) NULL) //以 w 方式只能用于往文件中写如果不存在则以指定的文件名新建一个文件 printf(Im so sorry,Open file error.\n); while((c fgetc(fin)) ! EOF) fputc(c,fout); fclose(fin); fclose(fout); return 0; } 4.判断文件是否存在和是否可读可写 int access(const char *pathname,int mode);
pathname:是文件名称 mode是我们要判断的属性.可以取以下值或者是他们的组合: R_OK文件可以读 W_OK文件可以写 X_OK文件可以执行 F_OK文件存在.
当我们测试成功时,函数返回0,否则如果有一个条件不符时,返回-1.
用一个程序实例来认识这个函数 输入一个文件名(在命令行中输入),判断该文件是否存在,并且可读,不存在提示不存在不可读提示不可读,如果存在并可读则在当前目录下创建一个目录test,并将该文件拷贝到test中 [cpp] view plaincopy /** * Author: Gneveek * Data: 2011-10-6 * Descripition: Clock Chens Homework : File operation #2 *二、输入一个文件名(在命令行中输入),判断该文件是否存在,并且可读, *不存在提示不存在不可读提示不可读,如果存在并可读 *则在当前目录下创建一个目录test,并将该文件拷贝到test中 */ #include stdio.h #include io.h #include direct.h #include string.h int main() { FILE *fin, *fout; char filename[256]; char pathname[256] test\\; scanf(%s,filename); if(access(filename,F_OK) -1) //判断存在与否 printf(This file does not exist!\n); else if(access(filename,R_OK) -1) //如果存在判断可读否 printf(Cannt Read!\n); else //到这里说明即存在又可读 { char c; _mkdir(test); strcat(pathname,filename); fin fopen(filename,r); fout fopen(pathname,w); while((c fgetc(fin)) ! EOF) fputc(c,fout); } return 0; }