ディレクトリを再帰的に出力できるプログラムを書いています。以下はgdbデバッグセグメントです
「if (dr == NULL) {」に進む前の d_path (const char * が print_dir_tree にパラメーターとして渡される) は「/home/cifer/.gftp」であることに注意してください。ただし、「/home/」と出力されます。 cifer/!\200" この句の後に
誰が理由を教えてくれますか? どうもありがとう!
Breakpoint 1, print_dir_tree (d_path=0x805b058 "/home/cifer/.gftp", depth=4)
at dir_demo.c:15
15 DIR *dr = opendir(d_path);
(gdb) print d_path
$2 = 0x805b058 "/home/cifer/.gftp"
(gdb) print d_path
$3 = 0x805b058 "/home/cifer/.gftp"
(gdb) step
16 if (dr == NULL) {
(gdb) print d_path
$4 = 0x805b058 "/home/cifer/!\200"
(gdb) step
20 struct dirent *de = NULL;
(gdb) print d_path
$5 = 0x805b058 "/home/cifer/!\200"
(gdb) step
21 while((de = readdir(dr)) != NULL) {
(gdb) print d_path
$6 = 0x805b058 "/home/cifer/!\200"
(gdb)