开发c语言日常记录之文件读写以及遍历
admin
2024-04-23 01:18:22
0

1.导包

#include 
#include 
#include 

 2.文件读取 

//根据地址读取内容 绝对地址 比如/sdcard/a.txt
void FileReadString(char *path,char *buf) {int fd = open(path, O_RDONLY);if (fd == -1) {printf("can not open the file\n");}char bufs[1024] = { "\0" };int len = read(fd, bufs, 1024);printf("%s\nlen=%d\n", bufs, len);strcpy(buf, bufs);close(fd);}调用方法:
char buff[1024];
FileReadString("/sdcard/0.txt", buff);
printf("buff========%s\n", buff);

3.文件存储 

//存储到某个文件 绝对地址 比如/sdcard/a.txt
void FileWriteString(char *path, char *bufs) {FILE *fd = fopen(path, "w+");/* 创建并打开文件 */if (fd){fputs(bufs, fd);fclose(fd);}
}调用方式:
FileWriteString("/sdcard/01.txt", "需要存储的字符串");

 4.文件删除

//文件删除功能
_Bool removeFile(char *path) {if (remove(path) == 0) {printf("Removed %s.\n", path);return 0;}else {perror("remove");return 1;}return 0;
}调用方式:
removeFile("/sdcard/0.txt");

5.创建文件夹 

//判断文件地址是否存在
int file_exist(char *path)
{if (access(path, F_OK) == 0) {return 0;}return -1;
}// 创建文件夹
void createFolder(char *path)
{// 文件夹不存在则创建文件夹if (file_exist(path) == -1){mkdir(path);}
}调用方式:
createFolder("/sdcard/test/");

6.遍历文件夹

#include       /*标准输入输出定义*/
#include      /*标准函数库定义*/
#include      /*Unix 标准函数定义*/
#include      /*字符串功能函数*/int trave_dir(char* path, char filename[][256])
{int len = 0;DIR *d; //声明一个句柄struct dirent *file; //readdir函数的返回值就存放在这个结构体中struct stat sb;if (!(d = opendir(path))){printf("error opendir %s!!!\n", path);return -1;}while ((file = readdir(d)) != NULL){//把当前目录.,上一级目录..及隐藏文件都去掉,避免死循环遍历目录if (strncmp(file->d_name, ".", 1) == 0)continue;strcpy(filename[len++], file->d_name); //保存遍历到的文件名	printf("len==%d\n", len);}closedir(d);return len;
}使用方式:
int i;
char filenames[256][256];
int lent = trave_dir("/sdcard/test/", filenames);
for (i = 0; i < lent; i++)
{if (filenames[i] != NULL) {printf("%s\t", filenames[i]);}
}

 我是在linux+arm主板上运行的,所以我的地址是以sdcard来使用

 

相关内容

热门资讯

盘前:科技股热潮降温 纳指期货... 来源:环球市场播报 周五,美国股指期货下跌。科技股走弱、美国国债收益率上升拖累大盘。科技板块近期大...
600096,拟投建1000万... 今日(5月15日),三大股指均收跌,全市场成交额为3.37万亿元,较上一个交易日缩量179亿元。收盘...
原创 应... 当地时间5月14日美股盘后,半导体设备达成应用材料(Applied Materials)公布了202...
歌手温岚被紧急送入ICU,主办... 歌手温岚原定于5月16日在上海举办巡回演唱会。15日,有消息称温岚因身体不适被紧急送医,随后,演唱会...
闪迪、美光越涨越便宜?股价暴涨... 存储芯片需求的爆炸式增长正在颠覆传统估值逻辑——股价越涨,闪迪和美光反而越便宜。 闪迪今年以来股价累...
监管部门“5·15”密集发声,... 监管新规密集发布,投资者保护防线再加固。 5月15日,证监会在北京举办2025年“5·15全国投资者...
纳指、标普500指数续创新高!... 美股三大指数集体收涨,纳指涨0.88%,标普500指数涨0.77%,道指涨0.75%。其中,纳指、标...
欧洲主要股指收盘集体下跌 英国富时100指数跌1.71%,法国CAC40指数跌1.72%,德国DAX30指数跌2.11%,富时...
巴宝莉去年扭亏盈利近两亿元,进... 英国奢侈品牌Burberry巴宝莉公布截至3月28日的2026财年业绩,释放明显复苏信号。集团营收同...
腾澎投资拟减持巨人网络不超3%... 巨人网络公告显示,公司控股股东一致行动人、第二大股东上海腾澎投资合伙企业(有限合伙)(下称“腾澎投资...
医疗健康领域投融资日报(5月1... 据亿欧数据统计,昨日(2026年5月14日)共披露23起投融资事件,涉及15家国内企业,8家国外企业...
债市ETF“工具箱”,解锁固收... 当前,市场波动有所加大,不确定性因素较多,单一资产投资模式难以有效应对市场起伏,引入固收类资产、优化...
招商蛇口股东会通过博时蛇口产园... 观点网讯:5月15日,招商蛇口2026年第一次临时股东会在公司总部会议室召开,会议由董事长朱文凯主持...
《学习时报》刊文:全球海洋可再... 海洋可再生能源一般指蕴藏于海水水面、水体及海床之中,可转化为电能的清洁能源类型,主要包括海上风能、潮...
数据看盘游资、量化抢筹多只机器... 沪深股通今日合计成交4353.39亿,其中澜起科技和中际旭创分居沪股通和深股通个股成交额首位。板块主...
土耳其BIST-100指数下跌... 土耳其BIST-100指数下跌1.8%,主要银行指数下跌2.4%。 来源:金融界AI电报
15分钟动态电价时代:园区光伏... 一、电价改革的“加速度”:从分时计费到现货波动 过去,工商业用户的电价表一年可能只调整几次,峰、平、...
湘潭上元产业港:多套成交 12... 湘潭上元产业港再迎成交热潮,近期3套优质厂房成功签约,多位企业家携手落子,以实力见证长株潭热土的产业...
4月新增人民币贷款跌入负区间,... 本报(chinatimes.net.cn)记者刘佳 北京报道 作为观察货币政策传导效率的核心窗口,4...
2.2/7.2馆展位图首发!5... 【2.2馆展位图】 【7.2馆展位图】 Bakery china 2.2馆部分 企业推介 22B...