程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C++ >> C++入門知識 >> 文件處理常用方法及link和unlink講解

文件處理常用方法及link和unlink講解

編輯:C++入門知識

[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


  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved