c语言库函数访问文件
库函数是独立于操作系统平台,可移植性强
文件的创建和打开
FILE *fopen(const char *filename,const char *mode)
filename:文件名
mode:打开模式
常见的打开方式:
r,rb 只读
w,wb 只写,如果文件不存在就创建
a,ab 追加,如果文件不存在就创建
r+,r+b,rb+ 读写方式打开
w+,w+b,wh+ 读写方式打开,文件不存在则创建
a+,a+b,ab+ 读和追加方式打开,文件不存在则创建
b表示二进制文件
读文件
size_t fread(void *ptr,size_t size,size_t n,FILE *stream)
stream:源文件
n:读取字段数
size: 每个字段的字节数
ptr:目标字符数组
返回实际读取的字节数
写文件
size_t fwrite(const void *ptr,size_t size,size_t n,FILE *stream)
ptr:源数组
n:字段数
size:字段的字节数
stream:目标文件
返回实际写入字段数
从文件读字符
int fgetc(FILE *stream)
向指定文件写入字符号
int fputc(int c,FILE *stream)
格式化读
int fscanf(FILE *stream,char *format[,argument...])
从一个流中进行格式化输入
示例代码如下:
#include <stdio.h>
#include <stdlib.h>
int main(void){
int i;
printf("input an integer:");
if(fscanf(stdin,"%d",&i)){
printf("the integer was:%i",i);
}
return 0;
}
格式化写入
int fprintf(FILE *stream,char *format[,argument,...])
格式化输出到一个流中
文件定位
int fseek(FILE *stream,long offset, int whence)
取得当前路径
char *getcwd(char *buffer,size_t size)
buffer:存放当前路径
size:指定buffer的大小
创建目录
int mkdir(char *dir,int mode)
库函数是独立于操作系统平台,可移植性强
文件的创建和打开
FILE *fopen(const char *filename,const char *mode)
filename:文件名
mode:打开模式
常见的打开方式:
r,rb 只读
w,wb 只写,如果文件不存在就创建
a,ab 追加,如果文件不存在就创建
r+,r+b,rb+ 读写方式打开
w+,w+b,wh+ 读写方式打开,文件不存在则创建
a+,a+b,ab+ 读和追加方式打开,文件不存在则创建
b表示二进制文件
读文件
size_t fread(void *ptr,size_t size,size_t n,FILE *stream)
stream:源文件
n:读取字段数
size: 每个字段的字节数
ptr:目标字符数组
返回实际读取的字节数
写文件
size_t fwrite(const void *ptr,size_t size,size_t n,FILE *stream)
ptr:源数组
n:字段数
size:字段的字节数
stream:目标文件
返回实际写入字段数
从文件读字符
int fgetc(FILE *stream)
向指定文件写入字符号
int fputc(int c,FILE *stream)
格式化读
int fscanf(FILE *stream,char *format[,argument...])
从一个流中进行格式化输入
示例代码如下:
#include <stdio.h>
#include <stdlib.h>
int main(void){
int i;
printf("input an integer:");
if(fscanf(stdin,"%d",&i)){
printf("the integer was:%i",i);
}
return 0;
}
格式化写入
int fprintf(FILE *stream,char *format[,argument,...])
格式化输出到一个流中
文件定位
int fseek(FILE *stream,long offset, int whence)
取得当前路径
char *getcwd(char *buffer,size_t size)
buffer:存放当前路径
size:指定buffer的大小
创建目录
int mkdir(char *dir,int mode)