問題タブ [strdup]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
2 に答える
453 参照

c++ - wcsdup をどのように活用しますか?

私はコードを書いていますが、そのかなりの部分で wchar 配列を返す必要があります。wstringを返すことは実際にはオプションではありません(使用できますが)。ポインターを引数として渡して入力できることはわかっていますが、特にこのワイド文字の配列へのポインターを返すことを検討しています。最初の数回の繰り返しで、配列を問題なく返すことがわかりましたが、それらが処理されて印刷されるまでに、メモリが上書きされ、意味不明なままになります。これを修正するために、すべてを修正した wcsdup の使用を開始しましたが、何が起こっているのかを正確に把握するのに苦労しています。現状では、文字列を返すたびに wcsdup を使用し、文字列が返されるたびに、メモリ リークが発生することがわかっています。これが私がやっていることです。

0 投票する
5 に答える
5062 参照

c - strdup() がメモリリークを引き起こしていますか?

文字列を返す関数を実装しました。パラメーター ( ) として整数を取り、ageフォーマットされた文字列を返します。

クレイジーなメモリリークがあるという事実を除いて、すべてがうまく機能しています。strdup() がこれの原因であることは知っていますが、いくつかの修正を調査しようとしましたが、役に立ちませんでした。

私のコードは次のとおりです。

Valgrind の出力は次のとおりです。

このメモリ リークの問題を解決するための助けをいただければ幸いです。

0 投票する
1 に答える
59 参照

c - (strdup) 関数を手動で実行するプログラムを試してみましたが、文字列を入力した後にエラーが発生しました

コードは次のとおりです。

編集してもうまくいかず、コードをできるだけシンプルにしようとしたので、難しくしないでください。

0 投票する
2 に答える
75 参照

c - strdup された構造体のすべてのメンバーを一度に解放する方法はありますか?

たとえば、次の構造体があります。

リンクされたリストに (多くの異なる学生用の) Student 構造体のインスタンスが多数あります。構造体内の各変数は strdup されます (int を除く)。

私のプログラムが実行するように設定されたすべての処理を実行した後、すべての構造体インスタンスを解放し、strdup されたすべての変数も解放する関数を追加したいと考えています。これをすばやく行う方法はありますか?

0 投票する
1 に答える
238 参照

c - 構造体に格納されているstrdup'd char*柔軟な配列メンバーを解放する方法は?

私は char* 柔軟な配列メンバーをスタクト内に格納しています。柔軟な配列メンバー内の各値は、strdup されています。char* フレキシブル配列メンバーに格納した要素の数が正確にわからないため、strdup された各値を解放する方法がわかりません。

これは、柔軟な配列メンバーを持つ私の構造体です。

0 投票する
1 に答える
226 参照

c - コードがコンパイルされるたびにコンパイルステートメントに「-D_BSD_SOURCE」を含めないようにするにはどうすればよいですか?

大量のエラーを回避するために、strdup常に-D_BSD_SOURCEコンパイル ステートメントに含める必要があります。これをどうにかして.cファイルに含め、コンパイルステートメントに二度と含めない方法はありますか。