1樓:匿名使用者
呼叫api copyfile 複製檔案,定義於kernel32.dll。其函式原型如下:
bool winapi copyfile(
__in lpctstr lpexistingfilename,
__in lpctstr lpnewfilename,
__in bool bfailifexists
);頭部的bool 說明copyfile的返回值為布林值,只有複製成功或複製失敗。bool型別對應au3中的int型。
第乙個引數lpexistingfilename,指定要複製的檔案,lpctstr為引數型別,對應於au3中的str。
第二個引數lpnewfilename, 指定新檔名,引數同樣對應於au3中的str。若此引數指定為某資料夾路徑而非某檔名,函式將執行失敗,錯誤值將設為5(拒絕訪問)。
第三個引數bfailifexists, 指定乙個bool值(真或假),用於說明是否覆蓋已經存在的檔案。真為覆蓋,假為不覆蓋。
如果新檔案已經存在,並且bfailifexists指定為false,函式則執行失敗。如果新檔案不存在,則copyfile函式忽略這個引數。如果函式最終返回0(假),說明函式執行失敗。
呼叫getlasterror(定義於kernel32.dll中)返回其擴充套件的錯誤值。
***************===
是不是第二個引數有問題?
2樓:椴
copyfile
2c++編輯
函式原型
bool copyfile(lpctstr lpexistingfilename,lpctstr lpnewfilename,bool bfailifexists );
程式例1
copyfile("c:\\file1.txt","c:\\file2.txt",true);
說明 複製檔案。
原型:bool copyfile;
引數 型別及說明:
lpexistingfilename string,源檔名lpnewfilename string,目標檔名bfailifexists long,如果設為true(非零),那麼一旦目標檔案已經存在,則函式呼叫會失敗。否則目標檔案被改寫
返回值long,非零表示成功,零表示失敗。會設定getlasterror
3樓:
沒指定新檔案的檔名 this function copies an existing file to a new file. 這是msdn的說明
4樓:匿名使用者
if(copyfile("e:\\ide\\abac.txt","f:\\vc",true)!=0)
改為if(copyfile("e:\\ide\\abac.txt","f:\\vc\\abac.txt",true)!=0)
c++的copyfile函式應用
5樓:東哥
這是**錯誤,導致路徑錯誤,把copyfile("c:\\1.bmp","d:
\\test.bmp",true);改成copyfile("c:\\1.
bmp",".\\test.bmp",true);就可以了。
函式原型:
bool copyfile(lpctstr lpexistingfilename,lpctstr lpnewfilename,bool bfailifexists );
程式例:
copyfile("c:\\file1.txt","c:\\file2.txt",true);
說明:複製檔案,與vb的filecopy命令相似
返回值:
bool,非零表示成功,零表示失敗。會設定getlasterror
參數列:
引數型別及說明 :
lpexistingfilename string,源檔名
lpnewfilename string,目標檔名
bfailifexists long,如果設為true(非零),那麼一旦目標檔案已經存在,則函式呼叫會失敗。否則目標檔案被改寫。
6樓:匿名使用者
.和..代表相對路徑.
代表程式當前目錄.. 代表程式上層目錄只要把copyfile("c:\\1.
bmp","d:\\test.bmp",true);改成copyfile("c:
\\1.bmp",".\\test.
bmp",true);就ok
c++中有沒有複製檔案的函式?
7樓:都市孤星
c++只是一種語言而已,使用這種語言的編譯器並不僅僅是turbo c乙個。不同的編譯器使用的函式也不盡相同。
如果你使用的編譯器是turbo c,那你應該使用system()函式,該函式的宣告如下:
int system(const char *command);
該函式允許你向作業系統傳送dos命令以實現你的目的,比如:
system("copy filea.exe fileb.exe");
在基於windows平台的高階編譯環境中,編譯器通常會使用一些windows api函式來實現一些更加豐富的功能。
在bcb、vc中,你可以直接使用windows api函式,而這些函式就如同編譯器自身的函式一樣。在windows api中,用於複製檔案的函式是copyfile(),該函式的宣告如下:
bool copyfile(
lpctstr lpexistingfilename, // 源檔名
lpctstr lpnewfilename, // 目標檔名
bool bfailifexists // 告訴系統當目標檔案存在時如何操作
);當bfailifexists為true時,如果目標檔案存在,則函式執行失敗;當bfailifexists為false時,如果目標檔案存在,則覆蓋目標檔案。
舉例:copyfile("c:\\filea.exe","d:\\filea.exe",false);
當然,你也可以使用檔案操作函式來實現檔案複製功能,條條大路通羅馬,成功的路不止一條,就看你喜歡如何去做了。
8樓:湛藍水晶
沒有,複製檔案要呼叫作業系統的api或者用檔案操作語句。
9樓:傲世修羅王
其實直接的沒有, 但是你可以寫乙個拷貝檔案的批處理, 然後在程式中呼叫它不就完了麼, 還有也可以使用檔案操作函式完成拷貝, 先建立乙個檔案, 然後, 將原始檔的內容全部讀到這個新檔案中.
10樓:匿名使用者
c++語言沒有複製檔案的函式。不但如此,常見的任何程式語言也都沒有。在c++程式中複製檔案,如果講究執行效率的話就需要自己編乙個複製函式,如果圖方便的話就直接使用作業系統命令。
11樓:王牌使用者
直接複製檔案的沒有,但是你可以用
system("copy filea fileb");
12樓:
常見的任何程式語言也都沒有。
13樓:皇家救星
system("copy a.txt b.txt");
如何呼叫API中的copyfile函式複製檔案
要站在高一點看問題 1,函式 通常用 變數 函式名 引數列表 這樣,執行了這個命令,就返回乙個值給變數 所以,這樣你就記住函式的使用 呼叫 格式 2,引數列表,是呼叫函式的時候,要告訴函式的自變數。declare function copyfile lib kernel32 alias copyfi...
cstring類的檔案操作,C string類的檔案操作
std 中的string 不是基本資料型別,可以認為是乙個類,其內部成員有字串的指標,字串的長度,字元目前分配的空間大小 等 其實這個問題,也就是char a 10 和 char a 區別的問題 測試sizeof a 可以驗證出str可以是任意長的資料,而sizeof a 是不變的,證明了str 裡...
如何操作刪除linux伺服器檔案下的檔案
linux裡刪除檔案或者資料夾下所有檔案的方法如下 1 rm rf 檔名。2 如果你要刪除資料夾以及資料夾下所有的內容也使用上述命令3 在沒有確認好是否刪除前,請使用 rm r 檔名。這樣沒刪乙個檔案都會問你是否刪除,選擇是才刪除,否則不會刪除。兩種方法 echo mygroup 相當於是給裡面追加...
php寫函式,能夠遍歷資料夾下的所有檔案和子資料夾
php 手冊裡就有 你還這麼多分 懸賞 php中寫乙個函式,能夠遍歷乙個資料夾下的所有檔案和子資料夾 if handle opendir dir 開啟乙個 代表該目錄 的控制代碼handle,控制代碼理解成乙個物件就行 while file readdir handle false 嘗試從目錄中讀乙...
怎麼才能恢復自己誤操作刪除的檔案
每個使用者的硬碟中都存放著大量的有用資料,而硬碟又是乙個易出毛病的部件。為了有效的儲存硬碟中的資料,除了有效的儲存硬碟中的資料,備份工作以外,還要學會在硬碟出現故障時如何救活硬碟,或者提取其中的有用資料,把損失降到最小程度。1 系統不承認硬碟 此類故障比較常見,即從硬碟無法啟動,從a盤啟動也無法進入...