linux中检查目录文件是否存在不存在则创建,并写入相关配置

本文介绍了一种在Linux系统中检查目录及文件存在性的方法,若不存在则创建目录与文件并写入初始配置。通过使用C语言编程,利用mkdir、open、write等系统调用实现。适用于自动化配置管理场景。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

linux中检查目录文件是否存在不存在则创建,并写入相关配置

#include <sys/types.h>
#include <sys/stat.h>
#include <stdio.h>
#include <unistd.h>
#include <string.h>
#include<fcntl.h>

int create_param_file(const char *PathName);	//检测目录与文件是否存在不存在则创建


int main(void)
{
	create_param_file("etc/config/test");		//注意:1、文件目录最前面切勿加“/”
	return 0;
}


int create_param_file(const char *PathName)
{
	char dirName[256];
	strcpy(dirName, PathName);
	int i, len, fileSize, fd;
	len = strlen(dirName);
	for (i = 1; i < len; i++)
	{
		if (dirName[i] == '/')
		{
			dirName[i] = 0;
			if (access(dirName, 0) != 0)    // /etc/config/lianyunset
			{
				if (mkdir(dirName, 0755) == -1)
				{
					printf("mkdir  error\n");
					return -1;
				}
			}
			dirName[i] = '/';
		}
	}
	fd = open(dirName, O_RDWR | O_CREAT, 0664);
	if (fd != -1)
	{
		fileSize = lseek(fd, 0, SEEK_END);   // 文件定位到结尾,查看文件内容大小 配置完成值内容应大于10
		printf("fileSize=%d \n", fileSize);
		if (fileSize <= 10)
		{
			write(fd, "hello word !\n", strlen("hello word !'\n"));
	}
	close(fd);

}

如需测试可在linux系统中创建一个"test.cpp"文件将上面代码拷贝过去。然后gcc test.cpp 进行编译,执行编译后生成的a.out 文件:./a.out 。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值