![]() |
![]() |
|
|
Fgetsa、Fgetsa32(3fml)
名前
Fgetsa()、Fgetsa32() - malloc() で領域を割り当て、変換された値を取得する
形式
#include <stdio.h>
#include "fml.h"
char *
Fgetsa(FBFR *fbfr, FLDID fieldid, FLDOCC oc, FLDLEN *extra)
#include "fml32.h"
char *
Fgetsa32(FBFR32 *fbfr, FLDID32 fieldid, FLDOCC32 oc, FLDLEN32
*extra)
機能説明
Fgetsa() は、CFgetalloc() を呼び出すマクロです。fbfr は、フィールド化バッファを指すポインタです。fieldid は、フィールド識別子です。oc はフィールドのオカレンス番号です。この関数は、UNIX System V「プログラマ・ リファレンス・マニュアル」の malloc() を使用して、文字列に変換されている検索対象のフィールド値に領域を割り当てます。extra が NULL でない場合、extra には、フィールド値の大きさに加えて割り当てる余分な領域を指定します。全体の大きさは、extra に返ります。
malloc() で割り当てた領域を (UNIX システムのリファレンス・ページの) free() を使って解放するのは、ユーザの責任です。
Fgetsa32() は 32 ビット FML で使用されます。
マルチスレッドのアプリケーション内のスレッドは、TPINVALIDCONTEXT を含め、どのようなコンテキスト状態で実行している場合でも、Fgetsa() または Fgetsa32() を呼び出すことができます。
戻り値
正常終了の場合、割り当てられたバッファを指すポインタを返します。
この関数は、エラー発生時に NULL を返し、Ferror を設定してエラー条件を示します。
エラー
次の条件の場合、Fgetsa() は異常終了し、Ferror を次の値に設定します。
バッファが適切なバウンダリで開始していません。
バッファがフィールド化されていないか、または Finit() で初期化されていません。
フィールド・オカレンスが要求されましたが、指定されたフィールドとオカレンスの両方、あるいはどちらかは、フィールド化バッファにありませんでした。
指定されたフィールド識別子は無効です。
指定されたフィールド識別子は無効です。
malloc() を使用しての領域の動的な割り当てが失敗しました。
関連項目
「FML 関数の紹介」、CFget、CFget32(3fml)、Fget、Fget32(3fml)、Fgetlast、Fgetlast32(3fml)、Fgets、Fgets32(3fml)
UNIX システムのリファレンス・ページの free(3)、malloc(3)
![]() |
![]() |
![]() |
|
Copyright © 2001 BEA Systems, Inc. All rights reserved.
|