トップページ > プログラム > 2015年08月19日 > 8uw32tI0

書き込み順位&時間帯一覧

14 位/149 ID中時間01234567891011121314151617181920212223Total
書き込み数0000000000000000000000033



使用した名前一覧書き込んだスレッド一覧
デフォルトの名無しさん
スレを勃てるまでもないC/C++の質問はここで 23 [転載禁止]©2ch.net

書き込みレス一覧

スレを勃てるまでもないC/C++の質問はここで 23 [転載禁止]©2ch.net
611 :デフォルトの名無しさん[sage]:2015/08/19(水) 23:31:20.42 ID:8uw32tI0
C言語の初心者なのですが、ある文字列を分割する方法を検討しており、strtokにたどり着きました。
分割したい文字列はhttpリクエストに入っている/aaaa.js/などの値です。
# 今回は拡張子を取得したくstrtokで.を使っ

て分割しようとしています。

ただ、このstrtokは元の文字列を破壊してしまうようで、元の文字列は破壊したくなく思っています。
そこで、以下のページを発見しました。適合コード部分を参考にしようと思っています。
@https://www.jpcert.or.jp/sc-rules/c-str06-c.html

マロックを使って、別の文字列にコピーしましょうね、ということなんですが、
マロックに詳しくなく、上記でメモリリークや不具合等が起きないか/問題ないのか気になっています。
マロックについて、調査したところ、以下のページの諸注意を見つけました。
Ahttp://www.geocities.co.jp/SiliconValley-Bay/7437/c/malloc.html
>>buffの値を変更するというのは別に構わないのですが、freeに渡す前に元の値に戻す必要があります。
この文言を見た限り、@に記載されてるfree(copy);ではちゃんとfreeされないのでは、と懸念しています。
そう思ってるのはcopyはstrtokによって破壊されており、元の値と異なってしまってると思ってるからです。

私の考えは正しいのでしょうか。。。それとも@の書き方で問題ないのでしょうか。
C言語に詳しい方いらっしゃればご教授頂きたいです、m(__)m
スレを勃てるまでもないC/C++の質問はここで 23 [転載禁止]©2ch.net
613 :デフォルトの名無しさん[sage]:2015/08/19(水) 23:43:19.12 ID:8uw32tI0
>>612
ああ、ごめんなさい。
文字列を別の箱にコピーしたら元の文字列を破壊しなくて済むよね、
という発想で、別の箱にコピーする方法を探してました。
すると@のページが出てきてなれないマロックとかいうものが出てきて困惑したという感じです。
マロックがよくわからないので、@のfreeなどが適切なのかわからず。。。
スレを勃てるまでもないC/C++の質問はここで 23 [転載禁止]©2ch.net
614 :デフォルトの名無しさん[sage]:2015/08/19(水) 23:46:23.94 ID:8uw32tI0
>>612

そして@の最後でcopy=NULLとしてるのもなんでだろう、、とおもっており。
freeだけだとまずいんですかね。


※このページは、『2ちゃんねる』の書き込みを基に自動生成したものです。オリジナルはリンク先の2ちゃんねるの書き込みです。
※このサイトでオリジナルの書き込みについては対応できません。
※何か問題のある場合はメールをしてください。対応します。