成人午夜视频全免费观看高清-秋霞福利视频一区二区三区-国产精品久久久久电影小说-亚洲不卡区三一区三区一区

Linux中怎么用c語言刪除某個目錄下的文件

這篇文章主要介紹了Linux中怎么用c語言刪除某個目錄下的文件的相關(guān)知識,內(nèi)容詳細(xì)易懂,操作簡單快捷,具有一定借鑒價值,相信大家閱讀完這篇Linux中怎么用c語言刪除某個目錄下的文件文章都會有所收獲,下面我們一起來看看吧。

肥城ssl適用于網(wǎng)站、小程序/APP、API接口等需要進(jìn)行數(shù)據(jù)傳輸應(yīng)用場景,ssl證書未來市場廣闊!成為成都創(chuàng)新互聯(lián)公司的ssl證書銷售渠道,可以享受市場價格4-6折優(yōu)惠!如果有意向歡迎電話聯(lián)系或者加微信:028-86922220(備注:SSL證書合作)期待與您的合作!

利用c語言刪除目錄下文件

最近這段時間工作內(nèi)容是關(guān)于linux下的簡單文件操作,以前對于linux系統(tǒng)下的文件操作函數(shù)都不是太熟悉,經(jīng)過這次實(shí)踐,對這些函數(shù)使用有了一定的了解

如何創(chuàng)建文件,讀寫文件,這些簡單的我想大家應(yīng)該是比較熟悉的,我所介紹的是如何遍歷某個目錄,并且刪除該目錄下的文件(可以指定后綴名),并且也可以指定

文件的修改時間范圍(多少小時以前的舊文件可以刪除),下面就是簡單的函數(shù)實(shí)現(xiàn),僅供初學(xué)者參考(畢竟我也是初學(xué)者\(yùn)(^o^)/~)

#include <stdio.h>
#include <fcntl.h> 
#include <time.h> 
#include <string.h>
#include <dirent.h>
#include <sys/stat.h>
#include <unistd.h>
 
#define file_max_len 256
 
void rmv_old_files(const char *path, const char *suf, int hours)
{	
	char filename[file_max_len] = {0};
	struct tm *tm;
	struct dirent *dirp;
	struct stat statbuf;
	dir *dp = null;
	time_t curr_time;
	int namelen, offset;
	char *chtemp = null;
	
	curr_time = time((time_t*)null);
	dp = opendir(path);
	if (null == dp)
	{
		return;
	}	
	while((dirp=readdir(dp)) != null)
	{
		if (strcmp(dirp->d_name, ".")==0 || strcmp(dirp->d_name, "..")==0)
		{
			continue;
		}
		namelen = strlen(dirp->d_name);
		chtemp = dirp->d_name;
		if (*suf != '\0')
		{
			offset = namelen-strlen(suf);
			if (offset<0 || strncmp(suf, chtemp+offset, strlen(suf))!=0)
			{
				continue;
			}
		}
		sprintf(filename, "%s%s", path, dirp->d_name);
		if (!stat(filename, &statbuf))
		{
			/*check the st_mtime of the file, if more than retention_hours ago then delete it*/
			if (curr_time-statbuf.st_mtime >= hours*3600 && s_isreg(statbuf.st_mode))
			{
				unlink(filename);
			}
		}			
	}
	closedir(dp);
}

附:linux刪除指定目錄下的文件命令

rm -f 指定目錄*

#最經(jīng)典的方法,刪除指定目錄下的所有類型的文件

2.find 指定目錄 -type f -delete或find 指定目錄 -type f -exec rm -f {} \;

#用find命令查找指定目錄下的所有普通文件并刪除or用find命令的處理動作將其刪除

3.find 指定目錄 -type f | xargs rm -f

#用于參數(shù)列表過長;要刪除的文件太多

4.rm-f `find 指定目錄 -type f`

#刪除指定目錄下的全部普通文件

5.for delete in `ls –l 指定目錄路徑`;do rm -f * ;done

#用for循環(huán)語句刪除指定目錄下的所有類型的文件

關(guān)于“Linux中怎么用c語言刪除某個目錄下的文件”這篇文章的內(nèi)容就介紹到這里,感謝各位的閱讀!相信大家對“Linux中怎么用c語言刪除某個目錄下的文件”知識都有一定的了解,大家如果還想學(xué)習(xí)更多知識,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。

網(wǎng)站名稱:Linux中怎么用c語言刪除某個目錄下的文件
網(wǎng)頁URL:http://jinyejixie.com/article28/posccp.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供建站公司、網(wǎng)站營銷、網(wǎng)站維護(hù)、外貿(mào)網(wǎng)站建設(shè)做網(wǎng)站、搜索引擎優(yōu)化

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

營銷型網(wǎng)站建設(shè)
兴业县| 东阳市| 阳泉市| 东至县| 竹北市| 穆棱市| 保山市| 巴林右旗| 伊吾县| 邳州市| 江都市| 武陟县| 黑水县| 咸宁市| 嘉祥县| 营口市| 九龙城区| 清河县| 长顺县| 邵东县| 龙海市| 阿荣旗| 石屏县| 天长市| 山丹县| 颍上县| 湟源县| 山东省| 宣威市| 巴彦县| 玉林市| 晴隆县| 花莲县| 肃北| 海安县| 阜南县| 资溪县| 吉首市| 阳新县| 商城县| 柳林县|