最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

 更新時間:2021年01月12日 10:55:06   作者:kakashi0309  
這篇文章主要給大家介紹了Linux中利用c語言刪除某個目錄下文件的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧

利用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)語句刪除指定目錄下的所有類型的文件

總結(jié)

到此這篇關(guān)于Linux中利用c語言刪除某個目錄下文件的文章就介紹到這了,更多相關(guān)Linux用c語言刪除目錄下文件內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • C++ 中 vector 的常用操作方法匯總

    C++ 中 vector 的常用操作方法匯總

    在C++的STL中,vector是一個動態(tài)數(shù)組,可以在運(yùn)行時調(diào)整大小,本文介紹了vector的初始化、元素訪問、修改、迭代器操作、容量管理以及性能優(yōu)化技巧,通過這些操作,可以有效地使用vector管理數(shù)據(jù),本文介紹C++  vector 操作,感興趣的朋友一起看看吧
    2024-10-10
  • C++程序中啟動線程的方法

    C++程序中啟動線程的方法

    這篇文章主要介紹了C++程序中啟動線程的方法,作者針對C++11版本中的一些新特性進(jìn)行了解說,需要的朋友可以參考下
    2015-07-07
  • c語言中全局變量的設(shè)置方式

    c語言中全局變量的設(shè)置方式

    這篇文章主要介紹了c語言中全局變量的設(shè)置方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-08-08
  • C++實(shí)現(xiàn)控制臺版掃雷程序

    C++實(shí)現(xiàn)控制臺版掃雷程序

    這篇文章主要為大家詳細(xì)介紹了C++實(shí)現(xiàn)控制臺版掃雷程序,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-05-05
  • C語言的指針類型詳細(xì)解析

    C語言的指針類型詳細(xì)解析

    C語言的指針類型包括兩方面的信息:一是地址,存放在指針變量中;二是類型信息,關(guān)乎于讀寫的長度,沒有存儲在指針變量中,位于用該指針讀寫時的mov指令中,不同的讀寫長度對應(yīng)的mov指令不同
    2013-09-09
  • 數(shù)據(jù)結(jié)構(gòu)之Treap詳解

    數(shù)據(jù)結(jié)構(gòu)之Treap詳解

    這篇文章主要介紹了數(shù)據(jù)結(jié)構(gòu)之Treap詳解,本文講解了Treap的基本知識、Treap的基本操作、Treap的高級操作技巧等,需要的朋友可以參考下
    2014-08-08
  • C++之內(nèi)存泄漏排查詳解

    C++之內(nèi)存泄漏排查詳解

    這篇文章主要介紹了c++ 如何排查內(nèi)存泄漏,幫助大家更好的理解和學(xué)習(xí)使用c++,感興趣的朋友可以了解下,希望能夠給你帶來幫助
    2021-10-10
  • 利用C++開發(fā)一個protobuf動態(tài)解析工具

    利用C++開發(fā)一個protobuf動態(tài)解析工具

    數(shù)據(jù)庫中存儲的protobuf序列化的內(nèi)容,有時候查問題想直接解析查看內(nèi)容。很多編碼在網(wǎng)上很容易找到編解碼工具,但protobuf沒有找到編解碼工具,可能這樣的需求比較少吧,那就自己用C++實(shí)現(xiàn)一個,感興趣的可以了解一下
    2023-01-01
  • Qt讀取Json文件的方法詳解(含源碼+注釋)

    Qt讀取Json文件的方法詳解(含源碼+注釋)

    QT本身就有讀取json的接口,簡單又方便,下面這篇文章主要給大家介紹了關(guān)于Qt讀取Json文件(含源碼+注釋)的相關(guān)資料,文中通過實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2022-10-10
  • Qt QWidget實(shí)現(xiàn)圖片旋轉(zhuǎn)動畫

    Qt QWidget實(shí)現(xiàn)圖片旋轉(zhuǎn)動畫

    這篇文章主要為大家詳細(xì)介紹了如何使用了Qt和QWidget實(shí)現(xiàn)圖片旋轉(zhuǎn)動畫效果,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2024-12-12

最新評論

湟源县| 武安市| 新干县| 江山市| 西平县| 曲靖市| 商丘市| 龙陵县| 偃师市| 安远县| 靖远县| 寿宁县| 特克斯县| 湟源县| 雅江县| 沭阳县| 桑植县| 龙游县| 沁源县| 大余县| 桂阳县| 金华市| 凤冈县| 左云县| 浠水县| 阿图什市| 合阳县| 德州市| 尉犁县| 白山市| 青岛市| 济阳县| 台前县| 贵州省| 福泉市| 盐城市| 北安市| 三门县| 新田县| 镇赉县| 邯郸市|