Từ 1 tới 3 trên tổng số 3 kết quả

Đề tài: hỏi hàm xóa 1 file trong nơi được khảo sát

  1. #1
    Ngày gia nhập
    04 2008
    Bài viết
    244

    Mặc định hỏi hàm xóa 1 file trong nơi được khảo sát

    mình có làm 1 chương trình cho phép xóa 1 file VD file hoa.txt trong thư mục C:\\A chẳng hạn
    chương trình sẽ tìm các file trong thư mục A đồng thời tìm luôn cả các thư mục con trong A xem có hoa.txt không
    nhưng không hiểu sao lại chạy không được

    PHP Code:
    #include<windows.h>
    #include "iostream"
    using namespace std;
    //----------------------------------

    // Duy?t d? qui và xóa file theo pattern qui d?nh

    // thí d? n?u pattern=”c:\index.dat” thì hàm s? tìm và xóa

    // h?t các file index.dat trên dia c:

    //----------------------------------

    void DuyetVaXoa (char *pattern)
    {
        
    char drive[4], directory[1024], patname[9], patext[5];
        
    char buff[1024], filename[9], file_ext[5];
        
    WIN32_FIND_DATA pblock;
        
    HANDLE hSearch;
        
    WORD dwRC;
        
    // tách pattern ra các thành ph?n co b?
        
    _splitpath(patterndrivedirectorypatnamepatext);
        
    // xây d?ng l?i pattern c?n duy?t
        
    sprintf(buff,"%s%s *.*",drive,directory);
        
    // tìm ph?n t? d?u th?a pattern
        
        
    hSearch=FindFirstFile(buff,&pblock);
        if (
    hSearch!=(HANDLE) -1)
            
    dwRC=1;
        else
            
    dwRC=0;
        while (
    dwRC)
        { 
    // trong khi còn ph?n t? th?a pattern
            //không x? lý label, thu m?c hi?n hành và thu m?c cha
            
    if (strcmp(pblock.cFileName,".")==|| strcmp(pblock.cFileName,"..") ==0
                
    || (pblock.dwFileAttributes FILE_ATTRIBUTE_SYSTEM))
            {
                
    dwRC=FindNextFile(hSearch,&pblock);
                continue;
            }
            
    // tách tên file ra 2 thành ph?n co b?n
            
            
    _splitpath(pblock.cFileNamebuffbufffilenamefile_ext);
            if (
    pblock.dwFileAttributes FILE_ATTRIBUTE_DIRECTORY)
            {
                
    // n?u thành ph?n tìm du?c là thu m?c
                // ch? duy?t và xóa các thành ph?n con c?a nó th?a pattern
                
                
    sprintf(buff,"%s%s%s\\%s%s",drive,directorypblock.cFileNamepatnamepatext);
                
                
    DuyetVaXoa(buff);
            }
            else
            { 
    // n?u là file
                
                
    char patternName[256];
                
                
    sprintf(patternName,"%s%s",patnamepatext);
                
                if (
    strcmp(patternName,pblock.cFileName)==0)
                {
                    
                    
    // dúng file c?n xóa ==> xóa nó
                    
                    // xây d?ng pathname tuy?t d?i c?a file c?n xóa
                    
                    
    sprintf(buff,"%s%s%s",drive,directory,pblock.cFileName);
                    
                    if (
    pblock.dwFileAttributes FILE_ATTRIBUTE_READONLY)
                        
                        
    // xóa thu?c tính readonly
                        
                        
    SetFileAttributes(buff,pblock.dwFileAttributes & (~FILE_ATTRIBUTE_READONLY));
                    
                    
    // xóa file
                    
                    
    DeleteFile(buff);
                    
                }
                
            }
            
            
    // tìm ph?n t? k? ti?p
            
            
    dwRC=FindNextFile(hSearch,&pblock);
            
        }
        
    }
    int main()
    {
        
    DuyetVaXoa("C:\\A\\hoa.txt");
        return 
    0;


  2. #2
    Ngày gia nhập
    07 2008
    Nơi ở
    /media/Anime
    Bài viết
    2,288

    sprintf(buff,"%s%s *.*",drive,directory);
    giữa %s và * dư dấu khoảng trắng nên chạy sai.
    Càng yêu mèo thì mèo càng mập. Mèo càng mập ta lại càng yêu.

  3. #3
    Ngày gia nhập
    04 2008
    Bài viết
    244

    OK,đúng rồi,cảm ơn bạn

Các đề tài tương tự

  1. Không thể xóa file trong IsolatedStorageFile, cách nào để xóa?
    Gửi bởi mrdungx trong diễn đàn Lập trình Windows Mobile bằng C#
    Trả lời: 0
    Bài viết cuối: 04-04-2013, 11:25 PM
  2. Xóa mẫu tin trong file nhị phân ?
    Gửi bởi dongtrien trong diễn đàn Thắc mắc lập trình C#
    Trả lời: 0
    Bài viết cuối: 27-09-2012, 02:40 PM
  3. Xóa 1 file trong VC++?
    Gửi bởi phieubong trong diễn đàn Thắc mắc lập trình Visual C++
    Trả lời: 2
    Bài viết cuối: 30-05-2011, 07:33 PM
  4. Lập trình C có hàm nào xóa thông tin trong file nhị phân không?
    Gửi bởi mysoul trong diễn đàn Thắc mắc lập trình C/C++/C++0x
    Trả lời: 3
    Bài viết cuối: 05-04-2011, 09:45 PM
  5. Cách khắc phục đối tượng đồ họa bị xóa trong C# như thế nào?
    Gửi bởi nguenviet trong diễn đàn Thắc mắc lập trình C#
    Trả lời: 2
    Bài viết cuối: 17-04-2009, 07:41 PM

Quyền hạn của bạn

  • Bạn không thể gửi đề tài mới
  • Bạn không thể gửi bài trả lời
  • Bạn không thể gửi các đính kèm
  • Bạn không thể chỉnh sửa bài viết của bạn