文件操作
来源:互联网 发布:淘宝店轮播图片制作 编辑:程序博客网 时间:2024/05/22 21:03
0x01打开文件 fopen
- FILE *fp
- //打开或者创建
- fp = fopen(“文件”,”标志”);
errno_t error = fopen_s(&fp,”文件”, “标志”);
t和b的打开方式的区别:\r\n<–>\n
- //关闭文件句柄
- fclose(fp);
fopen("文件路径/名称","rw,ccs=UTF-8");//默认为ANSI
读写文件
==文件读写,二进制文件读写==
文件读写,二进制文件读写fwrite(buffer,//缓冲区 size, //一次写多少字节 Count, // 一共写几次 fp );fwrite("hello",strlen("hello")+1,1,fp);int data = 0 ;fwrite(&date,sizeof(data),1,fp);
fread(buffer,size,count,fp);
char buff[100]={0};fread(buff,strlen("hello")+1,1,fp);int data = 0;fread(&data,sizeof(data),1,fp);
#include "string.h"int main(){ FILE *fp; errno_t err = fopen_s(&fp, "E:\\1\\xxx.dll", "r"); if (fp == NULL||err!=0) return - 1; char buff[64] = { 0 }; fread(buff, strlen("hello") + 1, 1, fp); int value = 0; fread(&value, sizeof(value), 1, fp); printf("%s %d\n", buff, value); fclose(fp); return 0;}
==格式化输入输出==
//格式化输入输出fscanf(fp,"%s %d %lf...",buf,&a,&b,...);sprintf(fp,"%s %d...",str,a,....);
#include "stdio.h"int format(){ char *path = "E:\\1\\format.txt"; FILE *fp; errno_t err = fopen_s(&fp, path, "w"); if (err != 0 || fp == NULL) { printf("fopen failed!\n"); return err; } //写 fprintf(fp, "%s %x %lf","hello", 0x11, 3.141593); fclose(fp); err = fopen_s(&fp, path, "r"); if (err != 0 || fp == NULL) { printf("fopen failed!\n"); return err; } char buff[80] = { 0 }; int value = 0; double d = 0.0; //du fscanf(fp, "%s %x %lf", buff, &value, &d); printf("%s 0x%x %lf", buff, value, d); fclose(fp);}int main(){ format(); return 0;}
==字符输入输出==
fgetc(fp);
fput(c,fp);
==字符串输入输出==
fgets(Buffer, MaxCount,Stream);
* 在文本读写是\n会转化\r\n,二进制无转化
fputs(Buffer,fp);
0x02 其他文件操作
- 读写指针控制
- ==rewind(fp); //首部==
- fseek(fp,-50,0/1/2)
- 文件头0(==SEEK_SET==)
- 当前位置1(==SEEK_CUR==)
- 文件尾部2(==SEEK_END==)
- fseek(fp,0L,SEEK_END);//定位到文件尾部
- flen = ftell(fp);//当前读写偏移,得到文件大小
- *
fSource = fopen(source, "rb");fseek(fSource, 0, SEEK_END); //把指针移动到文件的结尾 ,为了获取文件长度int len = ftell(fSource); //获取文件长度rewind(fSource); //把指针移动到文件开头 因为我们一开始把指针移动到结尾,如果不移动回来 会出错
- feof(fp);//判断文件是否结束
- int rename(char *oldname,char *newname);
- int remove(const char *filename);
- int mkdir(const char *dir,char *mode);
0 0
- 文件操作
- 文件操作
- 文件操作
- 文件操作
- 文件操作
- 文件操作
- 文件操作
- 文件操作
- 文件操作
- 文件操作
- 文件操作
- 文件操作
- 文件操作
- 文件操作
- 文件操作
- 文件操作
- 文件操作
- 文件操作
- java线程等待/通知机制及中断
- poj 3984
- 关于"\r","\n","\r\n"区别的实践
- js 使元素获取或失去焦点
- AS签名打包(一)Build打包
- 文件操作
- Mac下安装HBase及详解
- iOS中 addChildViewControllers 调整tableView位置
- Centos 6.5 关闭防火墙的步骤
- python爬虫"Hello World"级入门实例(二),使用json从中国天气网抓取数据
- JS计算两个时间段内的工作时间(9:00-18:00)
- Android之AsyncTask详解
- VS2015安装+OpenGL环境配置及测试
- Android-JavaWeb ——版本控制 git和svn