私は学校の課題のために (C で) シェルを実行していますが、この問題があります。入力を読み、単語の配列を持っています。(このように: {"/bin/ls", "-l", ">", "file"}) そして、「<」、「>」、「|」などの特殊記号の間にすべての単語を含むサブ配列が必要です. したがって、私の入力が
/bin/ls -l > f.txt > /usr/bin/wc
私がしたい:
{{"bin/ls", "-l"}, {"f.txt"}, {"usr/bin/wc"}}
正しい引数で execv を簡単に呼び出すことができるようにします。
現在、私は char*** を持っていますが、これを 3 サイクルで割り当てることはほとんどなく、単純ではないいくつかのアルゴリズムを使用して char** から char*** にコピーしています。
文字列の配列を文字列の配列の配列に分割する簡単な方法はありますか? (私には、配列を部分文字列に分割するのは簡単な作業のように見えますが、C は私にとってかなり困難です)
また、これらの特殊なシンボルで入力を分割し、それらの間で配列を取得できることは知っていますが、配列を分割してどのようにそれを行うことができるかに興味があります。