TurkProgrammers.NeT
Ana sayfa Ana Sayfa | Ana sayfanız yapın | Sık kullanılanlara ekle | Rss/Rdf Besleme| JavaScript
Bölümler
Arşiv
paz sa ça cu cum pa
12345
6789101112
13141516171819
20212223242526
272829

Mailinizi ekleyin
Haberlere abone olun:

anket: Sayfamızda En çok hangi bölüm ilginizi çekmekte
Sayfamızda En çok hangi bölüm yani programlama dili ve makaleleri ilginizi çekmekte?
PHP
C / C++ / C#
Asp ve .NET
JS / Ajax / DHTML /HTML
SQL
Visual Basic
Güvenlik
Action Script
Diğer
Anket sonuçları | Eski Anketler


email Arkadaşınızın maili | print Yazıcı versionu | comment Yanıtlar (0 Gönder)

Bölünmüş dosyayı yeniden birleştiren program

by mustafa bas on Temmuz 24,2007

image

Aşağıdaki program "bol" programı ile bolunmus dosyaları yeniden birleştiriyor. Program komut satırından aşağıdaki gibi çalıştırılmalı: bir dosya_ismi dosya ismi parçaların birleştirilmesiyle elde edilecek olan dosyaya verilen is

imdir

#include 
#include 
#include 
#include 

using namespace std;

int main(int argc, char **argv)
{
    string destname;
    
    if (argc != 2) {
        cout << "hedef dosya ismi " << endl;
        cin >> destname;
    }
    else
        destname = argv[1];

    ofstream ofile(destname.c_str(), ios_base::binary);
    
    if (!ofile) {
        cerr << "cannot create " << destname.c_str() << endl;
        return 1;
    }
    int file_counter = 0;    
    int byte_counter = 0;
    ostringstream sourcename;
    ifstream infile;
    
    for (;;) {
        sourcename << "part" << setfill('0') << setw(4) << file_counter + 1 << ".nnn";
        infile.open(sourcename.str().c_str(), ios_base::binary);
        if (!infile)
            break;
        ++file_counter;
        
        char ch;
        while (infile.get(ch)) {
            ofile.put(ch);
            byte_counter++;
        }
        infile.close();
        infile.clear();
        sourcename.str("");
    }
    
    cout << "total  " << file_counter << " files united as " << destname << " with the size of " << byte_counter
    << " bytes" << endl;
    
    for (int k = 1; k <= file_counter; ++k) {
        sourcename.str("");
        sourcename << "part" << setfill('0') << setw(4) << k << ".nnn";
        if (remove(sourcename.str().c_str()))
            cout << "cannot remove " << sourcename.str() << endl;
    }
    
    system("pause");
    
    return 0;
}

419 Kere okundu

Bu makaleyi beyendinizmi ?

1 2 3 4 5 Rating: 4.67Rating: 4.67Rating: 4.67Rating: 4.67Rating: 4.67 (Toplam 27 Oylar)
comment Yanıtlar (0 Gönder)
Çok okunanlar
En Çok Yorumlananlar
Yazarlar