Sds malloc

提供:GizmoLabs - だいたい CAD LISP なサイト
2009年12月27日 (日) 23:48時点におけるGizmon (トーク | 投稿記録)による版 (ページの作成: ; 構文 : void *sds_malloc (size_t bytes); ; 機能 : メモリを割り当てる。 ; 引数 :* bytes : 割り当てるバイトサイズ ; 戻り値 : メモリ領域へ…)
(差分) ← 古い版 | 最新版 (差分) | 新しい版 → (差分)
構文
void *sds_malloc (size_t bytes);


機能
メモリを割り当てる。
引数
  • bytes : 割り当てるバイトサイズ
戻り値
メモリ領域へのポインター、割り当てできなかった場合は NULL。


サンプル
struct resbuf pRbBuf;
char *buff = NULL;

// カレントレイヤ名を取得
if (sds_getvar("CLAYER", &pRbBuf) == RTNORM)
{
  // リザルトバッファの戻り値テスト
  if (pRbBuf.restype == RTSTR)
  {
    // メモリを割り当て
    buff = (char *)sds_malloc((sizeof(char) * strlen(pRbBuf.resval.rstring)) + 1);
    
    strcpy(buff, pRbBuf.resval.rstring);
    sds_alert(buff);
    sds_free(pRbBuf.resval.rstring);   // ダイナミックに割り当てられた文字列のバッファを解放
    sds_free(buff);                    // バッファの開放
  }
  else{
    sds_alert("値が文字じゃありません");
  }
}
else
{
  sds_alert("レイヤ名の取得に失敗しました");
}
return (RSRSLT);



関連事項