FILE *fopen(const char *pathname, const char *type);
功能:打开流。在Linux系统调用函数(低级I/O)打开一个文件时,返回一个整数文件描述符,然后该文件描述符就用于后续的I / O操作。对于标准I / O库(ANSIC标准C语言库函数,高级I / O),它们的操作是围绕流(stream)进行的。
头文件:stdio.h
pathname:为一个const char*类型的参数,即一个指向字符类型变量的指针,字符类型变量用于存放文件路径
type:为一个const char*类型的参数,即一个指向字符类型变量的指针。该参数值为:"r"时,表示操作文件只读;"w"时表示操作文件只写;"r+"、"a+"时表示操作文件读写。
return:若成功则返回文件指针(流),一个指向FILE对象的指针。该对象通常是一个结构体,它包含了I / O库为管理该流所需要的所有信息:用于实际I / O的文件描述符,指向流缓存的指针,缓存的长度,当前在缓存中的字符数,出错标志等等。应用程序没有必要检验FILE对象。若出错则为NULL。
FILE *freopen(const char *pathname, const char *type, FILE *fp);
功能:在一个特定的流上(由f p指示)打开一个指定的文件(其路径名由pathname 指示),如若该流已经打开,则先关闭该流。此函数一般用于将一个指定的文件打开为一个预定义的流:标准输入、标准输出或标准出错,即使这些标准流重定向到pathname指向的文件,使用标准输入输出函数时便不会从标准输入流读取数据。
头文件:stdio.h
pathname:为一个const char*类型的参数,即一个指向字符类型变量的指针,字符类型变量用于存放文件路径
type:为一个const char*类型的参数,即一个指向字符类型变量的指针。该参数值为:"r"时,表示操作文件只读;"w"时表示操作文件只写;"r+"、"a+"时表示操作文件读写。
fp:文件指针(流),一个指向FILE对象的指针
return:若成功则为文件指针(流),一个指向FILE对象的指针。该对象通常是一个结构体,它包含了I / O库为管理该流所需要的所有信息:用于实际I / O的文件描述符,指向流缓存的指针,缓存的长度,当前在缓存中的字符数,出错标志等等。应用程序没有必要检验FILE对象。若出错则为NULL。
FILE *fdopen(int filedes, const char *type);
功能:取一个现存的文件描述符(我们可能从open , dup , dup2 , fcntl或pipe函数得到此文件描述符),并使一个标准的I / O流与该描述符相结合。此函数常用于由创建管道和网络通信通道函数获得的描述符。因为这些特殊类型的文件不能用标准I/O fopen函数打开,首先必须先调用设备专用函数以获得一个文件描述符,然后用fdopen使一个标准I / O流与该描述符相结合。
头文件:stdio.h
filedes:为一个int类型的参数,该参数为打开文件的文件描述符
type:为一个const char*类型的参数,即一个指向字符类型变量的指针。该参数值为:"r"时,表示操作文件只读;"w"时表示操作文件只写;"r+"、"a+"时表示操作文件读写。
return:若成功则为文件指针(流),一个指向FILE对象的指针。该对象通常是一个结构体,它包含了I / O库为管理该流所需要的所有信息:用于实际I / O的文件描述符,指向流缓存的指针,缓存的长度,当前在缓存中的字符数,出错标志等等。应用程序没有必要检验FILE对象。若出错则为NULL。
int fclose(FILE *fp);
功能:关闭一个标准流
头文件:stdio.h
fp:文件指针(流),一个指向FILE对象的指针
return:为一个int类型的参数,若成功则为0,若出错则为EOF。EOF 的值通常为 -1,但它依系统有所不同
int fgetc(FILE *fp);
功能:从流中读入一个字符
头文件:stdio.h
fp:文件指针(流),一个指向FILE对象的指针
return:为一个int类型的参数,若成功则为一个字符,若已到文件尾端或出错则为EOF。EOF 的值通常为 -1,但它依系统有所不同
int fputc(int c, FILE *fp);
功能:向流中输出一个字符
头文件:stdio.h
fp:文件指针(流),一个指向FILE对象的指针
return:为一个int类型的参数,若成功则为c,若出错则为EOF。EOF 的值通常为 -1,但它依系统有所不同
char *fgets(char *buf, int n, FILE *fp);
功能:读取长度为n-1的字符串
头文件:stdio.h
buf:为一个指向字符类型变量(字符数组名)的指针,该字符数组存放从流中读取的字符串
n:为一个int类型的参数,表示读取的字符串的长度为n-1
fp:要读取的流,一个指向FILE对象的指针
return:若成功则返回buf,一个指向字符类型变量(字符数组名)的指针,字符数组存储读取到的n-1个字符;若已处文件尾端或出错则为NULL
size_t fread(void *ptr, size_t size, size_t nobj, FILE *fp);
功能:以二进制形式读取
头文件:stdio.h
ptr:指向无类型的指针,本函数中指向读取到的二进制
size:为一个size_t类型的参数,表示要读取的字节的个数
nobj:为一个size_t类型的参数,表示要读取的数据帧的个数(一个数据帧长度为size)
fp:要读取的流,一个指向FILE对象的指针
return:为一个size_t类型的参数,表示读取的对象的个数
size_t fwrite(const void *ptr, size_t size, size_t nobj, FILE *fp);
功能:以二进制形式写入
头文件:stdio.h
ptr:指向无类型的指针,本函数中指向要写入的二进制
size:为一个size_t类型的参数,表示要写入的字节的个数
nobj:为一个size_t类型的参数,表示要写入的数据帧的个数(一个数据de帧长度为size)
fp:要写入的流,一个指向FILE对象的指针
return:为一个size_t类型的参数,表示要写入的对象个数
int fseek(FILE *fp, long offset, int whence);
功能:将文件指针fp从whence处移动offset个字节
头文件:stdio.h
fp:要操作的文件
offset:偏移量,单位为字节。offset<0表示向左移,offset>0表示向右移
whence:起始点,只有三个选项:SEEK_SET表示文件开头;SEEK_CUR表示当前位置;SEEK_END表示文件末尾
return:若成功则为0,若出错则为非0(-1)
int feof(FILE *STREAM);
功能:检测流上的文件结束符
头文件:stdio.h
stream:待检测的流,一个指向FILE对象的指针。
return:如果文件结束,则返回非0值;否则返回0,文件结束符只能通过调用clearerr(STREAM)函数置为0。
char *strncpy(char *destin, char *source, int maxlen);
功能:复制source中的字符串(字符,数字、汉字....)到destinin中,复制字符的个数由maxlen的值决定。如果source的前maxlen个字符不含NULL字符,则source中的字符串不会以NULL字符结束。如果maxlen<source的长度,只是将source的前maxlen个字符复制到destinin的前maxlen个字符,不自动添加'\0',也就是destinin不包括'\0',需要再手动添加一个'\0'。如果source的长度小于maxlen个字节,则以NULL填充destinin直到复制完maxlen个字节。
头文件:string.h
destinin: 指向存储复制内容的字符数组
source:指向待复制的字符数组
maxlen:要复制的字符串的长度
return:destin