2

頻繁にchar**挿入したり、ルックアップを実行したりする必要がある があります。配列と文字列の挿入は非常に面倒realloc()です。malloc()

に文字列を追加したり、検索を実行したりする標準的な方法はありますchar**か? 文字列のようなものを探していると思いますが、char**代わりに 's を使用しています。

4

6 に答える 6

5

この構造に頻繁に挿入する場合は、 achar**をまったく使用しないでください。配列は、これらの種類の操作に適したデータ構造ではありません。std::vector<string>可能であれば、または類似のものを検討してください。

于 2009-03-25T01:32:22.227 に答える
1

char*の STL List やBoost Arrayなどを使用したいようです。

配列に要素を挿入または削除する必要がある場合、STL ベクトルは好ましくないことに注意してください。

于 2009-03-25T01:30:36.893 に答える
0

どのような質問をしようとしているのか明確ではありません。文字列のシーケンスが必要な場合は、おそらくSeq_TDave Hanson のC Interfaces and Implementationsの型がうまくいくでしょう。これは C で書かれた非常に役立つデータ構造のコレクションであり、挿入するとメモリを拡大および縮小します。アイテムを削除します。

于 2009-03-25T01:30:22.607 に答える
0

これが普通の C なら -

これを行うための標準的な方法は見たことがありませんが、そうは言っても、C ルーチンでこれをたくさん行ってきました。char* および char** 値に対して必要な操作を行う一連の関数を作成するのは、実際にはかなり簡単です。

私にとっては、(小さな) ルーチンのライブラリを構築するだけの問題でした。メモリ管理のルーチンと必要なすべての char* 操作から始めました。次に、char** などに挿入するためのルーチンを作成する際にそれらを使用しました。

C++ の場合、std::vector または他の同様のデータ構造を使用するようにリファクタリングを検討する必要があります。それはずっといいでしょう。

于 2009-03-25T01:33:51.207 に答える