Fråga : Det Runtime felet med decompress program.

Hey försök för Experts.

When I att köra mitt program jag får detta fel:
terminate kallade, når det har kastat en anföra som exempel av 'std:: ios_base:: failure'
vad ():  basic_filebuf:: underflödesfelläsning file
I kan inte finna varför denna är programbildläsningar för happening.
This som ett arkiv för sparar där och decompress all them.
It inte har någon filtyp att filtrera, därför att I-förmiddagen som testar precis denna arkivbildläsning, kodifierar för att göra det del av denna att decompress program.

I som försöks för att använda GDB för att finna svaret, men det inte gjorde gick väl either.
Here är jumbon fodrar utfört från GDB: operatörsT& för

46 () const {återgång *t_; }
boost för
(gdb):: iostreams:: specificera:: read_device_implst:: iostreams:: streambuf_tag>: : readt:: iostreams:: filtering_streambuf: iostreams:: mata in, bränna till kol, std:: char_traits std:: allocator ökning:: iostreams:: public_> > (t=…, s=0x806aa90 "", n=4096)
på /usr/include/boost/iostrea ms/read.hpp: 153
153 0;
terminate för
(gdb) kallade, når det har kastat en anföra som exempel av 'std:: ios_base:: failure'
vad ():  basic_filebuf:: underflödesfelläsning den mottagna file
Program signalerar SIGABRT, Aborted.
0x0067f402 i

The för __kernel_vsyscall () kodifierar till programet är den pröva förmiddagen för attached.
I att figurera detta ut på mitt eget för en stund nu, men jag fick till en peka som jag behöver för att få help.
Thanks i advance.
> för
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:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
" codeBody " " för >#include för class= " för #include #include #include #include #include using namespace std; using namespace-ökning:: iostreams; utan laga kraft decompress (stränga källan, stränger filename), { ifstream sparar (source.c_str (), ios_base:: i | ios_base:: binärt); ofstream ut (filename.c_str (), ios_base:: ut | ios_base:: binärt); filtering_streambuf in; in.push (zlib_decompressor ()); in.push (spara); ökning:: iostreams:: kopiera (i, ut); } huvudsaklig int () { stränga källan; stränga filenamen; bränna till kol resultatet; DIR*-dir = opendir (”/home/pablo/testee”); structdirent* ent = 0; stunder (ent dir&& (= readdir (dir))) { filename = ent->d_name; stränga new_filename = filenamen; resultat = new_filename.find_last_of (”. ”); om (std:: stränga:: npos! = resultat) { new_filename.erase (resultat); } filename.append (”.txt”); decompress (ent->d_name, filename); } closedir (dir); retur 0; }
" klar "

Svar : Det Runtime felet med decompress program.

Andra lösningar  
 
programming4us programming4us