私はchar *
にconst char *
を変換することはほとんどC/Cで禁止されていることを知っていますが++ので、多くの問題のため、私は私がchar *
にconst char *
を変換するために持っていると思うような状況に巻き込まれています。のconstのchar * charへ*私の場合は
c_str
を使用して文字列として文字列を取得しましたが、この文字列を変更します。しかし、問題はc_str
が文字列をconst char *
に変換することです。だから、この場合にはstrdup
を使用するのが良い選択でしょうか、これを行う上でより良いアイデアはありますか?下の小さなプログラムに示すように
'c_str'を使用しないでください。 '&s [0]'を使用してください。 –
最善の方法は、コピー、コピーの変更、新しい文字列の作成です。もちろん、これはパフォーマンスコストでの正確さを保証します。同じ長さにしておけば、前のコメントをすることもできます。短縮は実装の定義であり、延長は定義されていません。 –
ありがとう!はい、私は同じ長さを保つでしょう。 @KerrekSB c_strよりも&s [0]を使うのはなぜですか? – wannaqc