プログラム言語 FreeBasic |
Sub SetValueHashTable(p As Any Ptr , sKey As String , anyValue As Any Ptr)
ハッシュテーブルに既存の値を追加または変更します。
ポインタだけがハッシュテーブルに格納されます。
ポインタデータはプログラマーが制御します。
ポインターの代わりに整数(Long、Integer)を格納できますが、これには CAST演算子を使って型変換する必要があります。
文字列を保存するには、SetValueStrHashTable 関数を使うことを推奨します。
SetValueHashTable と SetValueStrHashTable を同じハッシュテーブルで一緒に使うことは望ましくありません。
p - CreateHashTable 関数によって返されるハッシュテーブルハンドル
sKey - 指定された値に関連付けられているキー
anyValue - 任意のデータへの任意のポインタ
Windows , Linux
#include "window9.bi"
dim p as any ptr = CreateHashTable()
For i As Long = 1 To 3
SetValueHashTable(p , "string" & i , cast(any ptr , cint(i)))
Next
For i As Long = 1 To 3
? cint(GetValueHashTable(p , "string" & i))
Next
' change value for key: string2
SetValueHashTable(p , "string2" , cast(any ptr , cint(100)))
? "Output after changes"
For i As Long = 1 To 3
? cint(GetValueHashTable(p , "string" & i))
Next
DeleteHashTable(p)
1
2
3
Output after changes
1
100
3