Android_NDK C文件操作(D6)

news/2024/11/17 9:32:03/

Android_NDK C文件操作

读取文本文件

void main(){//打开文件 (文件名,模式[r,w,,rb,wb(二进制读写)])char * filename = "C:\\a.text";FILE * file = fopen(filename,"r");if(file){char buffer[10];while(fgets(buffer,10,file)){printf("%s",buffer);}//关闭文件fclose(file);}
}

写文本文件

void main(){//打开文件 (文件名,模式[r,w,,rb,wb(二进制读写)])char * filename = "C:\\b.text";FILE * file = fopen(filename,"w");if(file){fputs("hello",file);//关闭文件fclose(file);}
}

拷贝文件

void main(){//打开文件 (文件名,模式[r,w,,rb,wb(二进制读写)])char * filenamea = "C:\\a.text";char * filenameb = "C:\\b.text";FILE * filea = fopen(filenamea,"rb");FILE * fileb = fopen(filenameb,"wb");if(filea && fileb){int buffer[1024];int len;//sizeof buffer = sizeof(buffer)while(len = freads(buffer,sizeof(int),1024,filae) != 0){fwrite(buffer,sizeof(int),len,fileb);}//关闭文件fclose(filea);fclose(fileb);}
}

文件大小获取

void main(){//打开文件 (文件名,模式[r,w,,rb,wb(二进制读写)])char * filename = "C:\\b.text";FILE * file = fopen(filename,"w");if(file){fseek(file,0,SEEK_END);long file_size = ftell(file);//关闭文件fclose(file);}
}

文件加密

  • 对二进制int值进行操作
void main(){//打开文件 (文件名,模式[r,w,,rb,wb(二进制读写)])char * filename = "C:\\b.text";FILE * file = fopen(filename,"rf");if(file){char f;while((f = fgetc(file)) != EOF){//操作}//关闭文件fclose(file);}
}

文件切割

void main(){//打开文件 (文件名,模式[r,w,,rb,wb(二进制读写)])char * filename = "C:\\b.text";char * filenameD = "C:\\b_%d.text";FILE * file = fopen(filename,"wf");long size = getfileSize(filename);int filecount = 3;long preFileSize = size / filecount;char ** filenames = (char**)malloc(sizeof(char*)*filecount);for(size_t i = 0;i<3;i++){filenames[i] = malloc(sizeof(char) * 30);sprintf(filenames[i], filenameD, i);}int i = 0;for (; i < file_number; i++){FILE* cur_file = fopen(file_names[i],"wb");int start = i*preFileSize;int end = (i + 1)*preFileSize;if (i == file_number - 1){end = file_size;}for (int j = start; j < end; j++){fputc(fgetc(file),cur_file);}fclose(cur_file);free(file_names[i]);}fclose(file);free(file_names);}

http://www.ppmy.cn/news/299680.html

相关文章

C++标准库中vector数据结构的创建和初始化 By:D6

前言:vector是C标准库中的一种常见容器,可以用来替代C原本的数组,且使用起来较为方便. 正文: vector在创建和初始化之时需要考虑数据的类型,个数,以及值,且对于这几个属性有多种不同的初始化方式. 如以下案例: 根据以下的案例我们写了几种不同的vector初始化方法,我们看到在…

高精度[D6](12.22)

Python要什么高精度&#xff0c;yyds 795. 前缀和 - AcWing题库 AcWing 791. 高精度加法 a int(input()) b int(input()) print(ab)792. 高精度减法 - AcWing题库 AcWing 792. 高精度减法 a int(input()) b int(input()) print(a-b)793. 高精度乘法 - AcWing题库 AcW…

D6 类型转换

类型转换 运算中&#xff0c;不同类型的数据先转换为同一类型&#xff0c;然后再计算。 小数的优先级大于整数 1 2 注意点 不能对布尔值进行转换不能把对象类型转转为不相干类型在把大容量转换到低容量的时候&#xff0c;强制转换转换的时候可能存在内存溢出或者精度问题 根…

D6 PRO充电器使用方法

充电方式两种&#xff1a; 接220V供电&#xff08;推荐&#xff09;接XT60电池供电 接线&#xff1a; 大头XT60接口平衡头6S、4S、3S、2S接口&#xff0c;123456-。黑线从右侧减号一侧开始接&#xff0c;红线在左侧数字一侧。 电池满电4.2V&#xff0c;不低于3.6V&#xff…

[leetcode刷题]D6_哈希表

有效的字母异位词 题目链接 讲解链接 /*** param {string} s* param {string} t* return {boolean}*/ var isAnagram function(s, t) {if(s.length ! t.length) return false;const resSet new Array(26).fill(0); //初始化数组&#xff0c;所有元素为0const numA &…

D6-读论文D6算法题D6关于huggingface train no log一事宜保存eval最好的模型终于改了代码

嗯&#xff0c;没错&#xff0c;又搁浅了三天。这次卷土重来了&#xff01; 829模拟队列 pt前别忘了*&#xff0c;接收不定数量的变量 m int(input()) N 100010 q [0]*N hh, tt 0,-1def push(x):global tttt 1q[tt] xdef pop():global hhhh 1def empty():global tt,h…

Spring D6

反者道之动&#xff0c;弱者道之用 文章目录 前言一、AspectJ切换JDK动态代理和CGLIB动态代理二、前置通知Before参数JoinPoint总结 前言 口罩 真是反反复复&#xff0c;没完没了了 一、AspectJ切换JDK动态代理和CGLIB动态代理 JDK动态代理 <aop:aspectj-autoproxy >&…

D6|哈希表总结

454.四数相加II 习题讲解 class Solution:def fourSumCount(self, nums1: List[int], nums2: List[int], nums3: List[int], nums4: List[int]) -> int:# 分两组加和计算&#xff0c;并记录每组和出现的次数# 优化&#xff1a;不需要两个字典&#xff0c;直接将第二组的和…