Frage : Laufzeitfehler mit dekomprimieren Programm.

He Experts.

When, das ich versuche, mein Programm laufen zu lassen, ich diese Störung erhalte:
terminate benannte, nachdem es einen Fall von 'Geschlechtskrankheit: geworfen: ios_base:: failure'< Br/> was ():  basic_filebuf:: die Underflowstörung, die das file

I liest, kann nicht finden, warum dieses happening.
This Programmscans ein Verzeichnis für die Akten dort ist und alle zu dekomprimieren.
It keine Aktenart Filter hat, weil ich gerade diesen Verzeichnisscan-Code prüfe, um es Teil von diesem program.

I dekomprimieren zu lassen versucht, um GDB zu verwenden, um die Antwort zu finden, aber die nicht ging wohles either.
Here ist die letzten Linien tat, die von GDB durchgeführt:

46 Operator T& () const {Rückhol*t_; }
(gdb)
boost:: iostreams:: Detail:: read_device_implst:: iostreams:: streambuf_tag>: : readt:: iostreams:: filtering_streambuf: iostreams:: Eingang, Putzfrau, Geschlechtskrankheit:: char_traits, Geschlechtskrankheit:: allocator, Erhöhung:: iostreams:: public_> > (t=…, s=0x806aa90 "", n=4096)
am /usr/include/boost/iostrea ms/read.hpp: 153
153 0;
(gdb)
terminate benannte, nachdem es einen Fall von 'Geschlechtskrankheit: geworfen: ios_base:: failure'< Br/> was ():  basic_filebuf:: die Underflowstörung, die das file

Program empfangene Signal SIGABRT, Aborted.
0x0067f402 __kernel_vsyscall liest ()

The im Code zum Programm ist attached.
I morgens versuchend, dieses herauszufinden allein für eine Weile jetzt, aber ich gelangte an einen Punkt, den ich benötige, um help.
Thanks.
im Voraus zu erhalten
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
6:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
#include 
#include 
#include 
#include 

#include 
#include 
#include 

using namespace-Geschlechtskrankheit;
using namespace-Erhöhung:: iostreams;

Lücke dekomprimieren (Schnurquelle, Schnurdateiname)
{   
    ifstream Akte (source.c_str (), ios_base:: in | ios_base:: Zweiheit);
    ofstream heraus (filename.c_str (), ios_base:: heraus | ios_base:: Zweiheit);
    filtering_streambuf innen;
    in.push (zlib_decompressor ());
    in.push (Akte);
    Erhöhung:: iostreams:: Kopie (in, heraus);
}

int-Hauptleitung ()
{
    Schnurquelle;
    Schnurdateiname;
    Putzfrauresultat;

    DIR* dir = opendir („/home/pablo/testee“);
    struct dirent* HNO= 0;

    während (dir && (HNO = readdir (dir))) {
         Dateiname = ent->d_name;
         Schnurnew_filename = -dateiname;
         Resultat = new_filename.find_last_of („.");

         wenn (Geschlechtskrankheit:: Schnur:: npos! = Resultat)
         {
            new_filename.erase (Resultat);
         }

         filename.append („.txt“);

         dekomprimieren (ent->d_name, Dateiname);
    }

    closedir (dir);
    
    Rückkehr 0;
}

Antwort : Laufzeitfehler mit dekomprimieren Programm.

Weitere Lösungen  
 
programming4us programming4us