[cpp]
/*
* 函數介紹:access函數,當對文件使用時,判斷是否存在指定的文件,以及是否能夠按指定的模式進行訪問。
* 頭文件:unistd.h
* 參數mode可為以下的其中之一:
* 00 只存在
* 02 寫權限
* 04 讀權限
* 06 讀和寫權限
* 返回值:如果文件擁有給定的模式則返回0,如果發生錯誤返回-1。
* 函數介紹:unlink()會刪除參數pathname指定的文件,文件夾處理不了。成功返回0,否則返回1。unlink()會刪除參數pathname指定的文件。如果該文件名為最後連接點,但有其他進程打開了此文件,則在所有關於此文件的文件描述詞皆關閉後才會刪除。如果參數pathname為一符號連接,則此連接會被刪除。
* 頭文件:unistd.h
*/
#include <iostream>
#include<unistd.h>
#include<stdio.h>
#include<string>
using namespace std;
int main()
{
char strPath[50] = "f:\\test.txt";
FILE *fp = fopen(strPath,"rw");
int status = access("f:\\test.txt",0); //獲取文件狀態
if(status == 0 ) //判斷文件是否存在
{
cout << "File exists\n" << endl;
fclose(fp);
if(!unlink("f:\\test.txt")) //刪除指定文件
{
cout << "成功文件刪除" << endl;
}
}else
{
cout << "No file" << endl;
return 0;
}
}
[cpp] view plaincopy
/*
* 函數介紹:link函數,建立硬鏈接,所謂的硬鏈接就是文件的別名,軟連接相當於文件快捷方式,存放著源文件的路徑
* 頭文件:unistd.h
*/
#include <iostream>
#include<unistd.h>
#include<stdio.h>
#include<string>
using namespace std;
int main()
{
char strPath[50] = "./leeboy.txt";
char chBackupFile[50] = "./leeboy_wang.txt"; //映射文件名
FILE *fp = fopen(strPath,"rw");
int status = access("./leeboy.txt",0); //獲取文件狀態
if(status == 0 ) //判斷文件是否存在
{
cout << "File leeboy exists\n" << endl;
fclose(fp);
if (link(strPath, chBackupFile) == -1) //建立文件硬鏈接,相當於生成一個新的文件,但內存中放的是同一個位置
{
cout << "文件鏈接生成錯誤!";
return 0;
}
if(unlink("./leeboy.txt") == -1) //刪除源文件,但備份文件還存在
{
cout << "刪除源失敗" << endl;
}
}else
{
cout << "No file" << endl;
return 0;
}
}
3、獲取文件大小
[cpp]
/*
* 函數介紹:ftell獲取文件指針位置,可以獲取文件大小
* 頭文件:stdio.h
*/
#include <iostream>
#include <stdio.h>
using namespace std;
int main()
{
FILE *fp = fopen("f:\\lee.txt","rw"); //打開文件
fseek(fp,0,SEEK_END); //設置的文件末尾
int len = ftell(fp); //獲取指針位置,從而獲取文件大小
cout << "文件大小:" << len << endl;
}
作者:Leeboy_Wang