導航:首頁 > 文件處理 > 如何用c編寫程序監測某個文件夾

如何用c編寫程序監測某個文件夾

發布時間:2023-04-07 23:23:40

1. c語言中指定路徑怎麼檢測是否存在 一個文件夾

這個簡單陸桐或哪啦,用 CreateDirectory 函數創建那個目錄,如果目錄已經存在了早團坦,那麼創建必然失敗

2. 如何用c語言如何打開一個文件夾

  1. 用文件路徑操作函數找到源代碼所在的文件夾。使用文件操作函數fopen打開源文件即可。

  2. 路徑操作函數 chdir。

    chdir函數是C語言中的一個系統調用函數(同cd)功 能:更改當前工作目錄。參 數:Path 必選。Path 可能包含驅動器。如果未指定驅動器,則當前驅動器上的默認目錄或文件夾。返回值:成功返回0 ,失敗返回-1

  3. 文件操作函數fopen。

    函數原型:FILE* fopen(const char * path,const char * mode);返回值:文件順利打開後,指向該流的文件指針就會被返回。如果文件打開失敗則返回NULL,並把錯誤代碼存在errno中。一般而言,打開文件後會做一些文件讀取或寫入的動作,若打開文件失敗,接下來的讀寫動作也無法順利進行,所以一般在fopen()後作錯誤判斷及處理。

3. 如何用C/C++語言實現執行一個程序和打開一個文件夾

//
這是我以前寫的一個,你參考參考
要用到windows
api
函數
#include
#include
#include
#define
len
1024
//
深度優先遞歸遍歷目錄中所有的文件
bool
directorylist(lpcstr
path)
{
win32_find_data
finddata;
handle
herror;
int
filecount
=
0;
char
filepathname[len];
//
構造路徑
char
fullpathname[len];
strcpy(filepathname,
path);
strcat(filepathname,
"\\*.*");
herror
=
findfirstfile(filepathname,
&finddata);
if
(herror
==
invalid_handle_value)
{
printf("搜索失敗!");
return
0;
}
while
(::findnextfile(herror,
&finddata))
{
//
過慮.和..
if
(strcmp(finddata.cfilename,
".")
==
0
||
strcmp(finddata.cfilename,
"..")
==
0
)
{
continue;
}
//
構造完整路徑
wsprintf(fullpathname,
"%s\\%s",
path,finddata.cfilename);
filecount++;
//
輸出本級的文件
printf("\n%d
%s
",
filecount,
fullpathname);
if
(finddata.dwfileattributes
&
file_attribute_directory)
{
printf("
");
directorylist(fullpathname);
}
}
return
0;
}
void
main()
{
directorylist("g:");
}

4. C#編寫控制台程序,實時監測某個文件夾內是否有文件增加

這種代碼我還真寫過!
就不幫你修改了 你自己改改就能用啦
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.IO;
using System.Diagnostics;
using System.Xml;
namespace WindowsFormsApplication1
{
public partial class FSWControl : Form
{
static FileSystemWatcher watcher = new FileSystemWatcher();
public FSWControl()
{
InitializeComponent();
string StrPath = ReadrXML("watchdirectory", "savedirectory");
WatcherStrat(StrPath,"*.*",true,true);
}
/// <summary>
/// 初始化監聽
/// </summary>
/// <param name="StrWarcherPath">需要監聽的目錄</param>
/// <param name="FilterType">需要監聽的文件類型(篩選器字元串)</param>
/// <param name="IsEnableRaising">是否啟用監聽</param>
//旅神臘/ <param name="IsInclude">是否監聽子目錄</param>
private static void WatcherStrat(string StrWarcherPath, string FilterType, bool IsEnableRaising, bool IsInclude)
{
/瞎臘/初始化監聽
watcher.BeginInit();
//設置監聽文件類型
watcher.Filter = FilterType;
//設置是否監聽子目錄
watcher.IncludeSubdirectories = IsInclude;
//設置是否啟用監聽?
watcher.EnableRaisingEvents = IsEnableRaising;
//設置需要監聽的更改類型(如:文件或者文件夾的屬性,文件或者文件夾拆滑的創建時間;NotifyFilters枚舉的內容)
watcher.NotifyFilter = NotifyFilters.Attributes | NotifyFilters.CreationTime | NotifyFilters.DirectoryName | NotifyFilters.FileName | NotifyFilters.LastAccess | NotifyFilters.LastWrite | NotifyFilters.Security | NotifyFilters.Size;
//設置監聽的路徑
watcher.Path = StrWarcherPath;
//注冊創建文件或目錄時的監聽事件
watcher.Created += new FileSystemEventHandler(watch_created);
//注冊當指定目錄的文件或者目錄發生改變的時候的監聽事件
watcher.Changed += new FileSystemEventHandler(watch_changed);
//注冊當刪除目錄的文件或者目錄的時候的監聽事件
watcher.Deleted += new FileSystemEventHandler(watch_deleted);
//當指定目錄的文件或者目錄發生重命名的時候的監聽事件
watcher.Renamed += new RenamedEventHandler(watch_renamed);
//結束初始化
watcher.EndInit();
}
/// <summary>
/// 創建文件或者目錄時的監聽事件
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private static void watch_created(object sender, FileSystemEventArgs e)
{
//事件內容
}
/// <summary>
/// 當指定目錄的文件或者目錄發生改變的時候的監聽事件
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private static void watch_changed(object sender, FileSystemEventArgs e)
{
//事件內容
}
/// <summary>
/// 當刪除目錄的文件或者目錄的時候的監聽事件
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private static void watch_deleted(object sender, FileSystemEventArgs e)
{
//事件內容
}
/// <summary>
/// 當指定目錄的文件或者目錄發生重命名的時候的事件
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private static void watch_renamed(object sender, RenamedEventArgs e)
{
//事件內容
}
/// <summary>
/// 啟動或者停止監聽
/// </summary>
/// <param name="IsEnableRaising">True:啟用監聽,False:關閉監聽</param>
private void WatchStartOrSopt(bool IsEnableRaising)
{
watcher.EnableRaisingEvents = IsEnableRaising;
}

/// <summary>
/// 讀取配置文檔
/// </summary>
/// <param name="StrNode">節點名字</param>
/// <param name="StrAttribute">屬性鍵</param>
/// <returns>屬性值</returns>
private string ReadrXML(string StrNode,string StrAttribute)
{
string returnValue = "";
XmlDocument xmldoc = new XmlDocument();
string StrPath = AppDomain.CurrentDomain.BaseDirectory;
xmldoc.Load(StrPath + "xml/Config.xml");
XmlNodeList nodeList = xmldoc.ChildNodes;
foreach (XmlNode item in nodeList)
{
if (item.Name.Trim().Equals("swfconvert"))
{
nodeList = item.ChildNodes;
foreach (XmlNode nodeitem in nodeList)
{
if (nodeitem.Name == StrNode)
{
returnValue = nodeitem[StrAttribute].Value;
return returnValue;
}
}
}
}
return null;
}
}
}

閱讀全文

與如何用c編寫程序監測某個文件夾相關的資料

熱點內容
安卓手機微信發不出視頻怎麼弄 瀏覽:229
壓縮機專用工具 瀏覽:575
qtcreator可以編譯cp嗎 瀏覽:405
小項目是雲伺服器還是本地好 瀏覽:14
墨痕齋是什麼游戲的伺服器 瀏覽:942
word文件如何壓縮大小 瀏覽:279
遵義聯通伺服器地址是什麼 瀏覽:29
ansys約束命令流 瀏覽:814
解壓軟體電腦版如何下載 瀏覽:791
閃電匕首演算法球 瀏覽:692
linuxredis停止命令 瀏覽:670
大麥賬號怎麼加密 瀏覽:113
穿越火線怎麼找伺服器 瀏覽:526
秘密加密社交軟體app 瀏覽:256
c語言編譯器怎麼找文件 瀏覽:836
數學不好能編程嗎 瀏覽:254
微雲里的視頻加密 瀏覽:41
3大加密貨幣交易平台 瀏覽:647
鈑金激光切割機編程 瀏覽:496
vivo手機手電筒app在哪裡 瀏覽:787