C 文字列操作 新しいページはコチラ

提供: yonewiki
移動: 案内, 検索
(文字列区切り文字分割)
(文字列区切り文字分割)
1,092行: 1,092行:
 
おそらくは、一度生成したものを再作成するかもしれないという作り方に問題があるのかもしれない。文字列の長さが確定してから容量を確保するようなプログラムにするべきなんだろうね。次から気を付ける。って今回のサンプルはなおさないらしい。コイツ。
 
おそらくは、一度生成したものを再作成するかもしれないという作り方に問題があるのかもしれない。文字列の長さが確定してから容量を確保するようなプログラムにするべきなんだろうね。次から気を付ける。って今回のサンプルはなおさないらしい。コイツ。
  
と悩んでおりましたが、解決しました。サンプルプログラムも更新済みなので、なんのこっちゃわからないと思いますが、配列は使用する領域よりひとつ多くとっておかないとdeleteできなくなるみたいです。文字列の終端にあるであろう\0と同じですね。ヌルポインターになるまで消去するということかもしれません。TOP50のランキングなのでTCHAR ***ppcStrChart = new TCHAR**[iChartCommaCnt];としてiChartCommaCnt=49の大きさ50の配列にしていましたが、TCHAR ***ppcStrChart = new TCHAR**[iChartCommaCnt '''+ 1'''];としたところ、プログラムの最後に記述したdelete[] 関数が動作するようになりました。ふぅ。同じように曲名とアーチスト名ということで*(ppcStrChart + i) = new TCHAR*[1];としていましたが、ここも*(ppcStrChart + i) = new TCHAR*['''2'''];ですね。消すときは、ひとつ少ない値のループ回数になっています。for(int j = 0;j < 2 ;j++)のとおりです。少しすっきりしたけど、なんつうか基本中の基本も知らなかった。いかに動的なメモリの確保をやってこなかったかってことか考えさせられます。プログラムの中でガッツリ確保してました。面倒だもん。でも、ちょっと不思議。それこそなんかゴミが残りそうだけどねぇ。結局また調べなきゃいけないのか(;´・д・)。
+
と悩んでおりましたが、解決しました。サンプルプログラムも更新済みなので、なんのこっちゃわからないと思いますが、配列は使用する領域よりひとつ多くとっておかないとdeleteできなくなるみたいです。文字列の終端にあるであろう\0と同じですね。ヌルポインターになるまで消去するということかもしれません。TOP50のランキングなのでTCHAR ***ppcStrChart = new TCHAR**[iChartCommaCnt];としてiChartCommaCnt=49の大きさ50の配列にしていましたが、TCHAR ***ppcStrChart = new TCHAR**[iChartCommaCnt '''+ 1'''];としたところ、プログラムの最後に記述したdelete[] 関数が動作するようになりました。ふぅ。同じように曲名とアーチスト名ということで*(ppcStrChart + i) = new TCHAR*[1];としていましたが、ここも*(ppcStrChart + i) = new TCHAR*['''2'''];ですね。消すときは、ひとつ少ない値のループ回数になっています。for(int j = 0;j < 2 ;j++)のとおりです。少しすっきりしたけど、なんつうか基本中の基本も知らなかった。いかに動的なメモリの確保をやってこなかったかってことか考えさせられます。プログラムの中でガッツリ確保してました。面倒だもん。でも、ちょっと不思議。それこそなんかゴミが残りそうだけどねぇ。結局また調べなきゃいけないのか(;´・д・)。でも、まぁ上のレベルの配列を消したときに、ぶら下がってる配列が最後まで消えるんだから、普通に考えても消えるわな。本当にそうなのかという、確認だけか。大変ではないね。次の事に進もう。日々、勉強だねぇ。つうか、手遅れ的な感じが否めない。最近、何を学んでも手遅れだと感じてしまう。いやいや、知らないままよりはいいか。ポジティブ。ポジティブ。ん~でも。なんつうか60過ぎてから、プロサッカー選手を目指すみたいな要素も含まれてるような気もする。無理だろみたいなね。プログラムは、まぁ歳食ってからでもやってていいから、気付くのが遅くてもいいことにしとこかな。
  
 
=='''文字列の型変換'''==
 
=='''文字列の型変換'''==

2013年12月10日 (火) 00:00時点における版



個人用ツール
名前空間

変種
操作
案内
ツールボックス