lltoa() - ストリングへの long long の変換

標準

標準/拡張機能 C/C++ 依存項目
z/OS® UNIX 両方 z/OS V1R5

形式

#define _OPEN_SYS_ITOA_EXT
#include <stdlib.h>

char * lltoa(int64_t ll, char * buffer, int radix);
コンパイル要件: この関数を使用するには、long long データ型が必要です。long long を使用可能にする方法については、「z/OS XL C/C++ ランゲージ・リファレンス」を参照してください。

機能説明

lltoa() 関数は、int64_t ll を文字ストリングに変換します。 このストリングは、渡されたバッファーに置かれます。このバッファーは、出力を 入れられるだけの十分な大きさが必要です。 基数値は、OCTAL、DECIMAL、または HEX が可能です。 基数が DECIMAL の場合、lltoa() は以下のステートメントと同じ結果を生成します。
(void) sprintf(buffer, "%lld", ll);
「buffer」は、戻り文字ストリングを示します。基数が OCTAL の場合、lltoa() は int64_t ll を符号なし 8 進定数にフォーマット設定します。 基数が HEX の場合、lltoa() は int64_t ll を符号なし 16 進定数にフォーマッ ト設定します。 16 進値は、必要に応じて、小文字の abcdef を含みます。

戻り値

ストリング・ポインター (バッファーと同じ) が戻されます。 無効な基数引数が渡されると、関数は NULL を戻し、errno に EINVAL を設定しま す。

使用上の注意

  1. これは非標準関数です。 提供されるプロトタイプは他のプラットフォームのコンパイラーで一般的に使用されていますが、この関数がすべてのプラットフォームであらゆる場合において同じ動作をするという保証はありません。この関数は他のプラットフォームからアプリケーションを移植する場合には役立ち ますが、新規アプリケーションを作成するときには、最大の移植性を確保するために、 この関数の使用は避けるべきです。

CELEBL30
/* CELEBL30

   This example reads an int64_t and formats it to decimal, unsigned
   octal, unsigned hexadecimal constants converted to a character
   string.

*/

#define _OPEN_SYS_ITOA_EXT
#include <stdio.h>
#include <stdlib.h>

int main ()
{
   int64_t i;
   char buffer [sizeof(int64_t)*8+1];
   printf ("Enter a number: ");
   if (scanf ("%lld",&i) == 1) {
      lltoa (i,buffer,DECIMAL);
      printf ("decimal: %s¥n",buffer);
      lltoa (i,buffer,HEX);
      printf ("hexadecimal: %s¥n",buffer);
      lltoa (i,buffer,OCTAL);
      printf ("octal: %s¥n",buffer);
   }
   return 0;
}

出力

入力が 1234 の場合、出力は次のようになります。
decimal: 1234
hexadecimal: 4d2
octal: 2322

関連情報