私に従ってください前の記事、消えない迷惑なバグもあります。
bash
私はLinuxでこのコマンドのエミュレータを書いた。
次を使用して一度にコードを実行するとき:
ls Debug/ | grep r
ls >> file.jer & ls & ls & ls &
ls >> file.jer
ls > file1.rrr
ls & ls | grep e
ls & ls & ls &
ls Debug/ | grep r
ls Debug/ > k.out
ls Debug/ >> k.out
exit
ls >> file.jer
その後、プログラムは3行目に書き込みますls: cannot access : No such file or directory
。プログラムを実行するたびにEnterキーを押します。それぞれこれで正しい出力が得られます。何度もデバッグしようとしましたが、問題が見つかりませんでした。
特定の問題:コードを実行してをクリックすると、ls Debug/ | grep r
正しい出力が表示されます。次に、をクリックすると、ls >> file.jer & ls & ls & ls &
ここにあるコードも正しく実行されます。しかし、をクリックするとls >> file.jer
非常に間違ったことが発生し、そのソースが見つからないようです。また、コマンドの出力は次の3rd
とおりです。そのファイルやディレクトリはありません。しかし、一度に実行すると、ファイルはfile.jer
現在のパスの内容を追加するため、明らかに間違っています。
main
1つ、2つの.h
ファイルと2つのファイルがあります.c
。
答え1
問題が解決しました!
エラーが発生する理由は、char**
変数を変更する関数に変数を送信してから、free
その変数をmainに戻すからです。これは許可されていないため、1つを送信するまですべてchar***
が解決されます。
みんなありがとうございます。