可変長文字列の処理がうまくいってない?

返信する


答えを正確に入力してください。答えられるかどうかでスパムボットか否かを判定します。

BBCode: ON
[img]: ON
[url]: ON
スマイリー: OFF

トピックのレビュー
   

展開ビュー トピックのレビュー: 可変長文字列の処理がうまくいってない?

by ganas » 2006年7月02日(日) 19:30

「未知の文字列が開放・・・」というエラーを解消するため、ZeroStringなしで、String型をすべてBytePtrで処理しました(callocなどは一切使用せず)。「未知の文字列」エラーは解消されたのですが、相変わらずこのコンパイラクラッシュは解決しませんでした。

しかしMakeStr内部でZeroStringが動いているとはおもいませんでした。
ありがとうございます。

by イグトランス » 2006年7月02日(日) 18:40

その前に,そのコードではZeroStringを行う必要がありません。
なぜならMakeStrは内部で文字列のメモリを確保してくるためです。

ただZeroStringを取り除いたからと言ってコンパイラが黙りこくるのが直るかどうか自信はありませんが。
MakeStrだって結局はZeroStringを呼んでいることに変わりはありませんし。

可変長文字列の処理がうまくいってない?

by ganas » 2006年7月02日(日) 17:28

現在、次のような文字列処理用のプログラムを作っています。

ZeroStringを使って可変長文字列を処理しようとしたのですが、文字列の長さ(バイト数)が一定の長さ(バイト数)を超えた時点(その長さは未計測)で、BasicCompiler.exeが、エラーも出さずに、いきなりクラッシュしてコンパイルが停止します。

上記の条件を満たさない(一定の長さよりも短い)と、まったくエラーは発生しません。

このプログラムは、指定された文字列を、プログラムで解析して、StrPutに送り、TextOutで出力しています(ゲームなどである、色が途中で変わったり、太字になったりする処理を実現するためのプログラムで、StrPutは内部処理用の関数で、画面へ出力するにはStrOutを使用)。

ページトップ