1. c語言中指定路徑怎麼檢測是否存在 一個文件夾
這個簡單陸桐或哪啦,用 CreateDirectory 函數創建那個目錄,如果目錄已經存在了早團坦,那麼創建必然失敗
2. 如何用c語言如何打開一個文件夾
用文件路徑操作函數找到源代碼所在的文件夾。使用文件操作函數fopen打開源文件即可。
路徑操作函數 chdir。
chdir函數是C語言中的一個系統調用函數(同cd)功 能:更改當前工作目錄。參 數:Path 必選。Path 可能包含驅動器。如果未指定驅動器,則當前驅動器上的默認目錄或文件夾。返回值:成功返回0 ,失敗返回-1
文件操作函數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;
}
}
}