文字列に平坦化関数を使用する
- 更新日2025-08-27
- 3分で読める
「文字列に平坦化」関数はLabVIEWデータを処理し、文字列に変換します。この文字列は、通信関数やI/O関数と一緒に使用して、ファイルまたはデータベースに保存したり、他のコンピュータに送信することができます。
「文字列に平坦化」関数によって作成された文字列はLabVIEW文字列です。「文字列に平坦化」関数の配列または文字列サイズを先頭に追加?入力がTRUEの場合、LabVIEW文字列の冒頭部分は、文字列の長さを指定する32ビット符号付き整数の4バイトの数値になります。文字列の長さを指定すると、LabVIEW文字列はASCII文字ゼロ (0) など、NULL文字を含むことができるようになります。LabVIEW文字列を外部コードに渡してC文字列として使用すると、文字列に埋め込まれたNULL文字によって問題が発生する場合があります。これは、C文字列が最初のNULL文字で終了すると解釈されるためです。
平坦化形式のLabVIEWのデータをCコードに渡す場合は、平坦化されたLabVIEWデータをバイナリ文字列形式から英数字文字列形式に変換します。たとえば、文字列が以下の5文字で構成されていたとします。
* 文字 35 (#)
* 文字 65 (A)
* 文字 0 (NULL)
* 文字 50 (2)
* 文字 107 (k)
以下の手順に従って、上の5文字をバイナリ文字列形式から英数字文字列形式に変換します。
- 5文字の10進数値を16進数値に変換します。
35d = 0x23
65d = 0x41
0d = 0x00
50d = 0x32
107d = 0x6B
- 16進数値の実際の英数字文字列を書き留めて、単一のNULL値を最後に含めます。
* 文字 50 (2)
* 文字 51 (3)
* 文字 52 (4)
* 文字 49 (1)
* 文字 48 (0)
* 文字 48 (0)
* 文字 51 (3)
* 文字 50 (2)
* 文字 54 (6)
* 文字 66 (B)
* 文字 0 (NULL)
バイナリ文字列形式から英数字文字列形式に変換すると、文字列のサイズが2倍になります。ただし、文字列形式に変換すると、LabVIEW文字列をC文字列に置換する必要のある環境で文字列を使用する場合にも、文字列の情報が保持されます。