/*
fclose的作用???
文件
文本文件:ASCLL码 84724不是数字,都是字符
二进制文件:除了文本文件以外都是二进制文件,看不懂,信息比较全
1、节约空间
写平衡:循环使用
文件指针:寻找文件
FILE *file
struct _iobuf {
char *_ptr;
int _cnt;
char *_base;
int _flag;
int _file;
int _charbuf;
int _bufsiz;
char *_tmpfname;
};
typedef struct _iobuf FILE;
buffer:数据的存储位置
size_t fread(
void *buffer
size_t size//一次读几个
size_t count//读取的总次数
FILE *stream//打开文件流
)
size_t fwrite(
void *buffer//往文件的内容
size_t size//每次写入的字节
size_t count// 总共写多少次
FILE *stream// 往哪个文件写
fopen
fread
fwrite
fclose
fseek//将文件指针移到指定位置
ftell
fgetc
stdin
stdout
wb:以二进制的形式写
如果有文件,将原来的文件清除掉
如果没有,自己创建文件
int fseek(
FILE *stream,//移动的文件指针
long offset,//偏移量
int origin//位置
);
SEEK_CUR
文件指针的当前位置。
SEEK_END
文件结尾。
SEEK_SET
文件开头
buffer
数据的存储位置。
size
项目大小 (以字节为单位)。
count
要读取的最大项数。
stream
为 FILE 结构的指针。
*/
/*文件拷贝
void CopyMp(const char *src,const char *dest)
{
assert(dest != NULL && src != NULL);
FILE *fr = fopen(src,"rb");
FILE *fw = fopen(dest,"wb");
assert(fr != NULL && fw != NULL);
char ch;
int len = 0;
while((len = fread(&ch,sizeof(char),1,fr)) > 0)
{
fwrite(&ch,sizeof(char),len,fw);
}
fclose(fr);
fclose(fw);
}
int main()
{
char *srcpath = "D:\\cat.jpg";
char *destpath = "D:\\zxc.jpg";
CopyMp(srcpath,destpath);
return 0;
}
*/
/*
int main()
{
char buffer[10];
int n;
fread(buffer,sizeof(char),10,stdin);
fwrite(buffer,sizeof(char),10,stdout);
return 0;
}
*/
/*读
int main()
{
const char *path="D:\\abc.txt";
FILE *fr=fopen(path,"r");//以二进制的形式写
assert( fr != NULL);
char ch;
while(fread(&ch,sizeof(char),1,fr)>0)//读取字符的个数
{
putchar(ch); //打印字符 不会换行
}
putchar('\n');
fseek(fr,-3,SEEK_CUR);
while(fread(&ch,sizeof(char),1,fr)>0)//读取字符的个数
{
putchar(ch); //打印字符 不会换行
}
putchar('\n');
return 0;
}
*/
/* 写入
int main()
{
const char *path="D:\\fr.txt";
FILE *fr=fopen(path,"r");
assert(fr!=0);
//读文件
char buffer[100]={};
fread(buffer,sizeof(char),100,fr);
FILE *fw=fopen(path,"w");
char *str="here is tulun";//写进一个字符串
fwrite(str,sizeof(char),strlen(str),fw);
fclose(fw);//关闭文件
printf("%s\n",buffer);
const char *path2="D:\\fr.txt";
FILE *fw=fopen(path2,"wb");//以二进制的形式写
//如果有文件,将原来文件的内容清除掉
//如果没有,自己创建文件
int a=10;
fwrite(&a,sizeof(int),1,fw);
fclose(fw);//关闭文件
//fclose的作用???
FILE *fr=fopen(path2,"rb");
int b=0;
fread(&b,sizeof(int),1,fr);
printf("%d\n",b);
fclose(fr);//关闭文件
return 0;
}
*/