基本I/O函数
fopen 打开文件,用完后一定要关闭。
FILE *fp;
fp=fopen("文件名","使用文件方式");
使用文件方式:
r 读
r+ 读写
w 只写
w+ 读写
a 追加
a+ 追加读写
rb 只读 二进制
rb+ 读写 二进制
wb 只写 二进制
wb+ 读写二进制
ab 追加 二进制
ab+ 追加读写 二进制
例:fp=fopen("file.dat","r")
fclose 关闭文件
例:fclose(fp);
fputc 一个字符输出到磁盘文件上去,注意返回的EOF。
例:fputc(ch,fp);
fgetc从磁盘文件读入一个字符,读入前一定要先打开,注意EOF,同时注意feof(fp)函数。
例:ch=fgetc(fp);
fputs与fputc对应,为字符串输出函数。
例:fputs(str,fp);
fgets与fgetc对应,为字符串输入函数。
例:fgets(str,n,fp);
fread和fwrite用来读写数据块的函数。
例:fread(buffer,size,cout,fp);
fwrite(buffer,size,cout,fp);
fprintf和fscanf与printf/scanf类似,但是用来输入输出到磁盘文件上去的函数。
例:fprintf(fp,"%d,%6.2f",i,t);
fscanf(fp,"%d,%f",&i,&t);
rewind是位置指针重置到文件头。
例:rewind(fp);
fseek对流式文件可以进行顺序读写,也可以进行随机读写,主要用来控制文件的位置指针。
例:fseek(fp,位移量,起始点);
其他I/O函数
int flock(int fd,int operation)用于锁定文件或解除锁定;
int fsync(int fd)用于缓冲区数据写回磁盘;
int mkstemp(char *template)建立唯一的临时文件;
int feof(FILE *stream)用于检查文件流是否读到了文件尾;
int fflush(FILE *stream)用于更新缓冲区;
FILE *freopen(const char *path,const char *mode,FILE *stream)用于重新打开文件;
long ftell(FILE *stream)用于取得文件流的读取位置;
void setbuf(FILE *stream,char *buf)用于设置文件流的缓冲区;
内存操作函数
atof用于将字符串(一定是数字字符)转换成浮点数。
例:char *a="-100.23";
float c;
c=atof(a);
atoi用于将字符串转换成整数。
例:char a[]="-100";
int c;
c=atoi(a);
atol用于将字符串转换成长整型数。
char *gcvt(double number,size_t ndigits,char *buf);将浮点型转换为字符串,取四舍五入。
double strtod(const char *nptr,char **endptr);将字符串转换成浮点数。
long int strtol(const char *nptr,char **endptr,int base);将字符串转换成长整型数。
unsigned long int strtoul(const char *nptr,char **endptr,int base);将字符串转换成无符号长整型数。
int toascii(int c);将整型转换成合法的ASCII码字符。
char *tolower(char *c);char *toupper(char *c);大小写转换。