linux下C语言如何操作文件(一)

news/2024/7/1 2:52:56

本篇我们简单介绍一下在linux中如何使用C语言操作文件,首先我们在项目中创建file_util.c源文件和file_util.h头文件如图:

我们先编辑file_util.h文件,定义好常用的函数,源代码如下:

#ifndef FILE_UTIL_INCLUDED
#define FILE_UTIL_INCLUDED

#include <stdbool.h>
#include "string_util.h"

/**
 * 读取txt文件内容
 * @param file_path 文件路径
 * @return 字符串分段结构
 */
struct string_segment* read_txt_file(const char* file_path);
/**
 * 判断指定的路径是存在且是一个文件
 * @param path 路径
 * @return true 存在且是一个文件,false 否则
 */
bool exists_and_isfile(const char* path);

/**
 * 判断指定的路径是存在且是一个目录
 * @param path 路径
 * @return true 存在且是一个目录,false 否则
 */
bool exists_and_isdir(const char* path);

/**
 * 创建目录, 会创建所有不存在的父目录
 * @param path 目录路径
 * @return true 创建成功,false 创建失败
 */
bool create_dirs(const char* path);

/**
 * 创建目录
 * @param

http://lihuaxi.xjx100.cn/news/2215493.html

相关文章

docker镜像拉取失败,K8s的calicoPod出现Init:ImagePullBackOff问题的解决

配置k8s集群出现问题 起初以为是版本问题&#xff0c;最后比对了一下发现没有问题。使用 kubectl describe calico-node-mg9xh -n kube-system命令查看发现docker pull 镜像失败&#xff0c;但是docker国内镜像源早就配置过了。 猜测Docker的缓存可能会导致拉取镜像失败。尝试…

将自己md文件发布到自己的博客园实现文件的持久化存储

上传markdown文件到博客园 目录 【0】需求原因【1】功能【2】环境【最佳实践测试】 &#xff08;1&#xff09;查看 Typora 设置&#xff08;2&#xff09;配置 pycnblog 配置文件 config.yaml&#xff08;3&#xff09;运行 pycnblog 中的文件 cnblog_markdown.cmd&#xff0…

边缘微型AI的宿主?—— RISC-V芯片

一、RISC-V技术 RISC-V&#xff08;发音为 "risk-five"&#xff09;是一种基于精简指令集计算&#xff08;RISC&#xff09;原则的开放源代码指令集架构&#xff08;ISA&#xff09;。它由加州大学伯克利分校在2010年首次发布&#xff0c;并迅速获得了全球学术界和工…

Qt状态机框架

概述 状态机框架提供了用于创建和执行状态图的类。这些概念和符号基于Harel的Statecharts:复杂系统的可视化形式(http://www.wisdom.weizmann.ac.il/~dharel/SCANNED.PAPERS/Statecharts.pdf)&#xff0c;也是UML状态图的基础。状态机执行的语义基于状态图XML (SCXML)(http://…

vue中的依赖管理

第1部分&#xff1a;引言 1.1 Vue框架简介 Vue.js是一个用于构建用户界面的渐进式框架。它从核心出发&#xff0c;易于学习和集成&#xff0c;同时提供丰富的生态系统支持&#xff0c;包括但不限于Vuex状态管理、Vue Router路由管理等。Vue的核心库只关注视图层&#xff0c;易…

每日一练——用队列实现栈

225. 用队列实现栈 - 力扣&#xff08;LeetCode&#xff09; Queue.h #pragma once #include<stdlib.h> #include<assert.h> #include<stdbool.h>typedef int QDataType;typedef struct QNode {QDataType data;struct QNode* next; } QNode;typedef struct …

详解拦截器(interceptor)

目录 1.拦截器概述 2.拦截器的基本使用 3.拦截路径配置 4.拦截器执行流程 5.实现登录校验 5.1定义拦截器 5.2注册配置拦截器 6.DispatcherServlet源码分析 6.1初始化 6.2处理请求&#xff08;核心&#xff09; 7.适配器模式 1.拦截器概述 拦截器&#xff08;Inte…

Android集成高德天气API 天气预报

1.新建工程项目WeatherForecast。 2.在AndroidManifest文件中添加网络访问相关权限。 <uses-permission android:name"android.permission.INTERNET"/> 3.设计页面布局activity_main.xml&#xff0c;界面效果如图所示。 4.注册高德开放平台&#xff0c;查阅…