JunkBox_Lib++ (for Windows) 1.10.1
|
Go to the source code of this file.
Functions | |
int | isNull (void *p) |
int | is_little_endian (void) |
エンディアンの動的チェック | |
int | is_big_endian (void) |
エンディアンの動的チェック | |
void | check_endian (void) |
システムのエンディアンを判別して,大域変数 HostEndian に設定する | |
double | double_from_little_endian (void *ptr) |
エンディアンによるデータ変換 | |
float | float_from_little_endian (void *ptr) |
int | int_from_little_endian (void *ptr) |
unsigned int | uint_from_little_endian (void *ptr) |
short | short_from_little_endian (void *ptr) |
unsigned short | ushort_from_little_endian (void *ptr) |
double | double_from_big_endian (void *ptr) |
float | float_from_big_endian (void *ptr) |
int | int_from_big_endian (void *ptr) |
unsigned int | uint_from_big_endian (void *ptr) |
short | short_from_big_endian (void *ptr) |
unsigned short | ushort_from_big_endian (void *ptr) |
char * | get_local_timestamp (time_t date, const char *format) |
要 free() | |
char * | get_gmt_timestamp (time_t date, const char *format) |
要 free() | |
char * | get_line (char *buf, int n) |
文字型データbufのバッファ内の n行目を取り出す.改行コードは削除される.要 free() | |
char * | get_seq_data (char *buf, int *ptr) |
文字型データbufのバッファ内の 行データをシーケンシャルに取り出す. | |
char * | awk (char *buf, char cc, int n) |
ccを区切り記号として, strのバッファ内の n番目の項目を返す.要 free() | |
char * | cawk (char *buf, char cc, int n) |
連続するccを区切り記号として, strのバッファ内の n番目の項目を返す.要 free() | |
int | bincmp (unsigned char *b1, unsigned char *b2, int n) |
バイナリデータを n Byte比べる.一致するなら 0 | |
int | strnrvscmp (const char *s1, const char *s2, int n) |
文字列 s1と s2を後ろから n文字比較する.一致するなら 0 | |
int | strncaservscmp (const char *s1, const char *s2, int n) |
文字列 s1と s2を後ろから n文字比較する.大文字小文字は区別しない.一致するなら 0 | |
char * | strstrcase (const char *buf, const char *nd) |
文字列 bufの中に文字列 ndがあるかどうかをチェックする.大文字小文字は区別しない. | |
int | ex_strncmp (const char *dat, const char *key, int len) |
文字列 s1とs2を拡張比較する.一致するなら TRUE | |
int | ex_strncasecmp (const char *dat, const char *key, int len) |
文字列 s1とs2を拡張比較する.大文字小文字を区別しない.一致するなら TRUE | |
int | ex_strnrvscmp (const char *dat, const char *key, int len) |
文字列 s1とs2を後ろから拡張比較する.一致するなら TRUE | |
int | ex_strncaservscmp (const char *dat, const char *key, int len) |
文字列 s1とs2を後ろから拡張比較する.一致するなら TRUE | |
char * | chomp (char *buf) |
最初の改行コード以降を無効にする. | |
char * | skip_chars (char *pp, const char *check) |
check[]中の何れかの文字までポインタをスキップさせる.ただし クォーテーション内は完全スキップ | |
char * | skip_char (char *pp, char cc) |
cc の文字までポインタをスキップさせる.ただし クォーテーション内は完全スキップ | |
char * | skip_char_pair (char *pp, char pair, char end) |
pair と end で閉じるまでポインタをスキップさせる.ただし クォーテーション内は完全スキップ | |
char * | skip_string_end (char *pp) |
次の文字列を一つスキップする.最期のクォーテーションの位置を返す. | |
char * | pack_head_tail_char (char *mesg, char cc) |
文字の先頭のcc(複数),TAB, CR, LF.終わりのcc(複数),TAB, CR, LF を削除.要 free() | |
char * | pack_char_len (char *mesg, char cc, int len) |
文字列の一部の先頭のcc(複数),終わりのcc(複数),CR, LF を削除.要 free() | |
char * | change_esc (char *mesg) |
文字列中の CR, LF を \r, \n に変換する.要 free() | |
void | replace_char (unsigned char *buf, int len, unsigned char frm, unsigned char toc) |
データbuf 中のバイトデータ frm を tocに変更する. | |
char * | replace_str (char *buf, int len, const char *frm, const char *tos) |
文字列 buf中の frmを tosに書き換えたものを返す.free() してはいけない. | |
char * | cut_str (char *buf, int ls, int le) |
buf[ls]〜buf[le] を切り出す.要 free() | |
char * | dup_str (char *buf) |
文字列を複製する.要 free() | |
int | is_number (unsigned char *str) |
数字かどうか判定する(簡易版).整数(1) と小数点付き数字(2) のみ. | |
char * | itostr (int n) |
int を文字に変換する.free() は不要 | |
char * | ltostr (long int n) |
long int を文字に変換する.free() は不要 | |
char * | ultostr (unsigned long int n) |
char * | lltostr (long long int n) |
long long int を文字に変換する.free() は不要 | |
char * | ulltostr (unsigned long long int n) |
char * | ftostr (float n) |
float を文字に変換する.free() は不要 | |
char * | dtostr (double n) |
double を文字に変換する.free() は不要 | |
char * | itostr_ts (int n) |
int を文字に変換する.要 free() | |
char * | ltostr_ts (long int n) |
long int を文字に変換する.要 free() | |
char * | ultostr_ts (unsigned long int n) |
char * | lltostr_ts (long long int n) |
long long int を文字に変換する.要 free() | |
char * | ulltostr_ts (unsigned long long int n) |
char * | ftostr_ts (float n) |
float を文字に変換する.要 free() | |
char * | dtostr_ts (double n) |
double を文字に変換する.要 free() | |
int | count_lines (const char *buf) |
文字列データの行数を数える.行頭が '\0'の場合も1行と数える. | |
int | hexstr2i (const char *str) |
16進の文字列を整数に変換する. | |
char * | randstr (int n) |
ランダムに A-Za-z0-9 までの文字を n文字生成する. | |
unsigned char * | randbit (int n) |
ランダムに n bitのバイナリを生成する. | |
unsigned long long int | ntohull (unsigned long long int s) |
void | swap_byte (void *p, int s, int c) |
sの長さのpのバイト順序をbバイト毎に逆順にする. | |
short | swaps (unsigned short p) |
16bit の上下8bitを入れ替える. | |
int | swapl (unsigned int p) |
32bit pを8bitづつ逆順にする | |
long long int | swapd (unsigned long long int p) |
void | reverse_str (uByte *p, int s) |
バイト(octet)列を逆順にする. | |
int | file_from_to (const char *src, const char *dst, const char *mode) |
modeに従って,ファイル sを dにコピーする. | |
int | fp_from_to (FILE *src, FILE *dst, long int sz) |
ファイル sを dにコピーする. | |
char * | get_file_name (const char *str) |
フルパスからファイル名へのポインタを取り出す.free() してはいけない. | |
char * | del_file_name (const char *str) |
フルパスを書き換えてファイル名部分を削除する.free() してはいけない. | |
char * | get_file_path (const char *str) |
ファイル名を含むパスからパスのみを生成する.strは変化しない.要 free(). | |
char * | get_file_extension (const char *str) |
フルパスからファイル名の拡張子へのポインタを取り出す.free() してはいけない. | |
char * | del_file_extension (const char *str) |
フルパスを書き換えて拡張子を削除する.free() してはいけない. | |
char * | cut_file_extension (const char *str) |
拡張子を削除したフパス名を生成する.strは変化しない.要 free(). | |
unsigned long int | file_size (const char *fn) |
ファイルの大きさを返す. | |
int | file_exist (const char *fn) |
ファイルの存在を検査する. | |
FILE * | file_chmod_open (const char *fn, const char *fm, mode_t mode) |
ファイルの許可属性をmode へ変更した後,ファイルを fmモードでオープン | |
char * | temp_filename (const char *dir, int flen) |
/dev/urandom を利用して作業用ファイルのランダムなファイル名を得る. | |
unsigned char * | read_file (const char *fname, long unsigned int *size) |
ファイルからデータを読み込む | |
long unsigned int | write_file (const char *fname, unsigned char *buf, long unsigned int size) |
ファイルにデータを書き込む | |
int | mkdirp (const char *path, mode_t mode) |
mkdir -p path 相当. | |
char * | double_bs (char *str) |
文字列中の \ を \\に置き換えた文字列を返す.要 free() | |
char * | numbering_name (const char *fmt, int n) |
フォーマット fmtに従って,nを含む文字列を作り出す.要 free() | |
void | kanji_convert (unsigned char *mesg) |
大域変数 KnjiCodeに従って漢字コードを変換する. | |
void | kanji_convert_euc2sjis (unsigned char *mesg) |
EUCをSJISに変換する. | |
void | kanji_convert_sjis2euc (unsigned char *mesg) |
SJISをEUCに変換する. | |
void | euc2sjis (unsigned char *c1, unsigned char *c2) |
EUC -> SJIS. | |
void | sjis2euc (unsigned char *c1, unsigned char *c2) |
SJIS -> EUC. | |
void | upper_string (char *str) |
unsigned char * | decode_base64 (unsigned char *buf, int *sz) |
bufを base64からデコードする.要 free() | |
unsigned char * | encode_base64 (unsigned char *buf, int sz) |
バイナリデータ bufを base64にエンコードする.要 free() | |
unsigned char * | decode_base64_filename (unsigned char *buf, int *sz, unsigned char cc) |
bufを Base64で decodeしてバイナリデータを取り出す.ただし cc は '/' として扱う.要 free() | |
unsigned char * | encode_base64_filename (unsigned char *buf, int sz, unsigned char cc) |
バイナリデータ bufを Base64で encodeしてファイル名を作る.ただし '/' は cc として扱う.要 free() | |
unsigned char * | decode_urlenc (unsigned char *buf, int *sz) |
buf を URLエンコードからデコードする.要 free() | |
unsigned char * | encode_urlenc (unsigned char *buf, int sz) |
バイナリデータ bufを URLエンコードする.要 free() | |
unsigned char * | decode_quoted_printable (unsigned char *buf, int *sz) |
buf を quoted printableからデコードする.要 free() | |
unsigned char * | encode_quoted_printable (unsigned char *buf, int sz) |
バイナリデータ bufを quoted printable にエンコードする.要 free() | |
unsigned char * | encode_hex (unsigned char cc) |
キャラクタを16進コードの文字列に変換する.要 free() | |
unsigned char | decode_hex (unsigned char pp1, unsigned char pp2) |
16進コードをキャラクタに変換する.O-9,A-F以外が指定された場合は0とみなす. 内容を書き換える. | |
ringBuffer * | new_ringBuffer (int sz) |
リングバッファを生成する. | |
void | del_ringBuffer (ringBuffer **rb) |
リングバッファそのものを削除する.new_ringBuffer() と対. | |
ringBuffer | init_ringBuffer () |
リングバッファを初期化する. | |
ringBuffer | make_ringBuffer (int sz) |
バッファ部が存在するリングバッファを作り出す. | |
void | free_ringBuffer (ringBuffer *rb) |
リングバッファを解放する.make_ringBuffer() と対. | |
void | clear_ringBuffer (ringBuffer *rb) |
リングバッファのデータを削除する. | |
int | put_ringBuffer (ringBuffer *rb, unsigned char *pp, int sz) |
リングバッファにデータを格納する. | |
unsigned char * | get_ringBuffer (ringBuffer *rb, int sz) |
リングバッファからデータを得る.要 free() | |
int | seek_ringBuffer (ringBuffer *rb, int sz) |
リングバッファのデータポインタを seek する. | |
unsigned char * | ref_ringBuffer (ringBuffer *rb, int pos) |
spoint 地点から pos番目のデータへの参照.posは 0から数える.spoint は変化しない. | |
int | put_mstream (mstream *sb, unsigned char *mesg) |
メッセージ(文字列)ストリーム sb へメッセージ(の一部)を格納する | |
unsigned char * | get_mstream (mstream *sb) |
メッセージ(文字列)ストリーム sb から次のメッセージを取り出す.改行コードは削除される. | |
unsigned char * | fgets_mstream (unsigned char *mesg, mstream *sb) |
メッセージストリームからメッセージを一行だけ取り出す. | |
unsigned char * | uuid2guid (unsigned char *p) |
uuid を guid に変換する.要 free() | |
unsigned char * | guid2uuid (unsigned char *p) |
guid を uuid に変換する.要 free() | |
void | open_logfile (void) |
デフォルトのログファイルをオープンする | |
void | close_logfile (void) |
デフォルトのログファイルをクローズする | |
void | print_logfile (const char *fmt,...) |
デフォルトのログファイルにデータを書き込む | |
void | open_errfile (void) |
デフォルトのエラーファイルをオープンする | |
void | close_errfile (void) |
デフォルトのエラーファイルをクローズする | |
void | print_errfile (const char *fmt,...) |
デフォルトのエラーファイルにデータを書き込む | |
void | print_message (const char *fmt,...) |
バッファリングなしのメッセージ出力(stderr) | |
void | fprint_message (FILE *fp, const char *fmt,...) |
バッファリングなしのメッセージ出力 | |
void | print_escape (const char *fmt, char *mesg) |
エスケープ文字を含むメッセージの出力(stderr) | |
void | fprint_escape (FILE *fp, char *fmt, char *mesg) |
void | fdump (FILE *fp, unsigned char *mesg, int n) |
16進ダンプを吐き出す | |
void | print_16x (FILE *fp, unsigned char *mesg, int n) |
16進ダンプを吐き出す(1行) | |
char * | get_graphic_extension (uWord tex) |
Variables | |
int | DebugMode = OFF |
ON の場合 ライブラリ全体がデバックモードであることを示す.デフォルトは OFF. | |
int | UnitTestMode = OFF |
ユニット単体でのテストを行う場合に使用する.デフォルトは OFF. | |
int | KanjiCode = CODE_UTF8 |
システムの漢字コード | |
int | HostEndian = UNKNOWN_ENDIAN |
システムの Endian | |
unsigned long int | UsedMemoryBase = 0 |
メモリチェック用 | |
unsigned char | LocalIPNum [4] = {0x7f, 0x00, 0x00, 0x01} |
127.0.0.1 のバイナリ | |
unsigned char | LocalIPNum6 [16] = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01} |
::1 のバイナリ | |
static char | _ToSTR [LDATA] |
作業用(文字変換) | |
FILE * | FP_LogFile = NULL |
FILE * | FP_ErrFile = NULL |
static char | _GraphicFileExtension [L_OCT] |
char * awk | ( | char * | buf, |
char | cc, | ||
int | n ) |
char* awk(char* buf, char cc, int n)
ccを区切り記号として, strのバッファ内の n番目の項目を返す. 返されたデータは free()する必要がある.
buf | 操作対象文字列. |
cc | 区切り文字. |
n | 項目の指定. 1から数える. |
Definition at line 567 of file tools.cpp.
Referenced by awk_tList(), to_address_num(), and to_ipaddress_list().
int bincmp | ( | unsigned char * | b1, |
unsigned char * | b2, | ||
int | n ) |
int bincmp(unsigned char* b1, unsigned char* b2, int n)
バイナリデータ s1と s2 nバイト比較する.
b1 | 比較するバイナリデータ1 |
b2 | 比較するバイナリデータ2 |
n | 比較するバイト数 |
0 | 一致する |
1 | 一致しない |
Definition at line 650 of file tools.cpp.
char * cawk | ( | char * | buf, |
char | cc, | ||
int | n ) |
char* cawk(char* buf, char cc, int n)
ccを区切り記号として, strのバッファ内の n番目の項目を返す.
n は 1から数える.連続する cc(区切り)は一つの区切りとみなす. 返されたデータは free()する必要がある.
buf | 操作対象文字列. |
cc | 区切り文字. |
n | 項目の指定. |
Definition at line 609 of file tools.cpp.
Referenced by cawk_tList().
char * change_esc | ( | char * | mesg | ) |
char* change_esc(char* mesg)
文字列中の CR, LF を \r, \n に変換する. 返されたデータは free()する必要がある.
mesg | 操作対象の文字列 |
Definition at line 1210 of file tools.cpp.
References CHAR_CR, and CHAR_LF.
Referenced by fprint_escape(), and print_escape().
void check_endian | ( | void | ) |
void check_endian(void)
大域変数 HostEndian に LITTLE_ENDIAN か BIG_ENDIAN を設定する.
Definition at line 143 of file tools.cpp.
References HostEndian, is_little_endian(), and UNKNOWN_ENDIAN.
Referenced by double_from_big_endian(), double_from_little_endian(), float_from_big_endian(), float_from_little_endian(), int_from_big_endian(), int_from_little_endian(), short_from_big_endian(), short_from_little_endian(), uint_from_big_endian(), uint_from_little_endian(), ushort_from_big_endian(), and ushort_from_little_endian().
char * chomp | ( | char * | buf | ) |
char* chomp(char* buf)
最初の改行コード以降を無視する.最初の改行コードのある場所に '\0' を代入する.
[in,out] | buf | 改行を無効にする文字列. |
Definition at line 921 of file tools.cpp.
References CHAR_CR, and CHAR_LF.
Referenced by get_mstream().
void clear_ringBuffer | ( | ringBuffer * | rb | ) |
void clear_ringBuffer(ringBuffer* rb)
リングバッファ rb のデータをクリア(初期化)する.
rb | リングバッファへのポインタ |
Definition at line 3312 of file tools.cpp.
References ringBuffer::buf, ringBuffer::bufsz, JBXL_NORMAL, and ringBuffer::state.
void close_errfile | ( | void | ) |
void close_errfile(void)
デフォルトのエラーファイルをクローズする
Definition at line 3990 of file tools.cpp.
References FP_ErrFile.
void close_logfile | ( | void | ) |
void close_logfile(void)
デフォルトのログファイルをクローズする
Definition at line 3915 of file tools.cpp.
References FP_LogFile.
int count_lines | ( | const char * | buf | ) |
int count_lines(const char* buf)
文字列データ bufの行数を数える. 行頭が '\0' であっても 1行と数える
buf | 行数を数える文字列データ |
Definition at line 1673 of file tools.cpp.
char * cut_file_extension | ( | const char * | str | ) |
char* cut_file_extension(const char* str)
拡張子を削除したパス名を生成する.strは変化しない.要 free.
str | ファイルのフルパス |
Definition at line 2282 of file tools.cpp.
char * cut_str | ( | char * | buf, |
int | ls, | ||
int | le ) |
char* cut_str(char* buf, int ls, int le)
buf[ls] 〜 buf[le] を切り出してメモリに格納して返す. 返されたデータは free()する必要がある.
buf | 操作対象の文字列 |
ls | 切り出し開始の位置 |
le | 切り出し終了の位置 |
Definition at line 1338 of file tools.cpp.
Referenced by check_passwd(), and x2crypt().
unsigned char * decode_base64 | ( | unsigned char * | buf, |
int * | sz ) |
unsigned char* decode_base64(unsigned char* buf, int* sz)
bufを base64からデコードする.
変換は bufの先頭から順次行われる.A-Za-z0-9+/ 以外は無視する(例えば改行コード).
入力バッファ部が 4byte(6bit*4)の場合, 出力バッファ部は 3byte(8bit*3)となる. 入力バッファ部のバイト数が 4の倍数でない場合(不正なデータ), 足りない入力バッファ部には '='が挿入されているものとみなす.
返されたデータは free()する必要がある.
buf | base64からデコードする文字列. | |
[in,out] | sz | in: sz デコードされたデータの長さを格納する intへのポインタ.NULLでも良い. out: デコードされたデータのサイズ. |
Definition at line 2786 of file tools.cpp.
References setBit.
Referenced by Base64::decode(), decode_base64_Buffer(), and decode_base64_filename().
unsigned char * decode_base64_filename | ( | unsigned char * | buf, |
int * | sz, | ||
unsigned char | cc ) |
unsigned char* decode_base64_filename(unsigned char* buf, int* sz, unsigned char cc)
bufを Base64で decodeしてバイナリデータを取り出す.ただし cc は '/' として扱う.
Definition at line 2887 of file tools.cpp.
References decode_base64().
unsigned char decode_hex | ( | unsigned char | pp1, |
unsigned char | pp2 ) |
unsigned char decode_hex(unsigned char pp1, unsigned char pp2)
16進コードをキャラクタに変換する.O-9,A-F以外が指定された場合は0とみなす.
pp1 | 16進コードの上位4Bit. 0-9,A-F |
pp2 | 16進コードの下位4Bit. 0-9,A-F |
Definition at line 3171 of file tools.cpp.
Referenced by decode_quoted_printable(), and decode_urlenc().
unsigned char * decode_quoted_printable | ( | unsigned char * | buf, |
int * | sz ) |
unsigned char* decode_quoted_printable(unsigned char* buf, int* sz)
buf を quoted printableからデコードする. 返されたデータは free()する必要がある.
buf | デコードする文字列. | |
[out] | sz | デコードされたデータの長さを格納する変数. |
Definition at line 3029 of file tools.cpp.
References decode_hex().
unsigned char * decode_urlenc | ( | unsigned char * | buf, |
int * | sz ) |
unsigned char* decode_urlenc(unsigned char* buf, int* sz)
buf を URLエンコードからデコードする. 返されたデータは free()する必要がある.
buf | デコードする文字列. | |
[out] | sz | デコードされたデータの長さを格納する変数. |
Definition at line 2932 of file tools.cpp.
References decode_hex().
char * del_file_extension | ( | const char * | str | ) |
char* del_file_extension(const char* str)
フルパスから拡張子を削除する. strの中身を書き換えて,strを返す.free() してはいけない.
str | ファイルのフルパス |
Definition at line 2256 of file tools.cpp.
char * del_file_name | ( | const char * | str | ) |
char* del_file_name(const char* str)
フルパスからファイル名を削除する. strの中身を書き換えて,strを返す.free() してはいけない.
str | ファイルのフルパス |
Definition at line 2094 of file tools.cpp.
void del_ringBuffer | ( | ringBuffer ** | rb | ) |
void del_ringBuffer(ringBuffer** rb)
new_ringBuffer()で作り出したリングバッファを削除する.
[in,out] | rb | in: 削除するリングバッファポインタへのポインタ. out: *rb はNULLになる. |
Definition at line 3232 of file tools.cpp.
char * double_bs | ( | char * | str | ) |
char* double_bs(char* str)
文字列中の バックスペース \を 2重 \\ に変えた文字列を返す. 返されたデータは free()する必要がある.
str | 操作対象の文字列 |
Definition at line 2564 of file tools.cpp.
double double_from_big_endian | ( | void * | ptr | ) |
double double_from_big_endian(void* ptr)
Big Endian形式で格納されている double型の値を取り出す.
ptr | 変数が格納されているメモリへのポインタ |
Definition at line 264 of file tools.cpp.
References check_endian(), HostEndian, LITTLE_ENDIAN, reverse_str(), and UNKNOWN_ENDIAN.
double double_from_little_endian | ( | void * | ptr | ) |
double double_from_little_endian(void* ptr)
Little Endian形式で格納されている double型の値を取り出す.
ptr | 変数が格納されているメモリへのポインタ |
Definition at line 156 of file tools.cpp.
References BIG_ENDIAN, check_endian(), HostEndian, reverse_str(), and UNKNOWN_ENDIAN.
char * dtostr | ( | double | n | ) |
char* dtostr(double n)
double型 nを文字列にして返す.
n | 文字列に変換する値 |
Definition at line 1516 of file tools.cpp.
References _ToSTR, LDATA, and snprintf.
Referenced by ColladaXML::addCenterScene(), ColladaXML::addController(), ColladaXML::addEffect(), ColladaXML::addNormalSource(), ColladaXML::addScene(), ColladaXML::addTexcrdSource(), ColladaXML::addVertexSource(), ColladaXML::addWeightSource(), and ColladaXML::setJointLocationMatrix().
char * dtostr_ts | ( | double | n | ) |
char* dtostr_ts(double n)
double型 nを文字列にして返す. Thread Safe
n | 文字列に変換する値 |
Definition at line 1652 of file tools.cpp.
References LDATA, and snprintf.
Referenced by llsd_bin_main_parse(), and make_xml_attr_bydouble().
char * dup_str | ( | char * | buf | ) |
char* dup_str(char* buf)
文字列 bufの複製を作り出す.返されたデータは free()する必要がある.
buf | コピー元の文字列 |
Definition at line 1368 of file tools.cpp.
Referenced by get_string_from_json(), and CBVHTool::writeMultiFile().
unsigned char * encode_base64 | ( | unsigned char * | buf, |
int | sz ) |
unsigned char* encode_base64(unsigned char* buf, int sz)
バイナリデータ bufを base64にエンコードする.
入力バッファ部が 3byte(8bit*3)の場合, 出力バッファ部は 4byte(6bit*4)となる. 入力バッファ部が 6bit境界でない場合, 6bit境界 まで 0が付加されたと見される.
出力バッファ部が 4byte境界でない場合, 4byte境界まで '='を付加して出力する. また,出力バッファ部での 60byte毎の改行は行わない.
一般に n byte 入力された場合, base64の出力の文字数は (n+2)/3*4 byte となる.
返されたデータは free()する必要がある.
buf | base64にエンコードするデータ. |
sz | データの長さを示す.-1以下の場合は buf は文字列とみなす. |
Definition at line 2848 of file tools.cpp.
References getBit, and setBit.
Referenced by Base64::encode(), encode_base64_Buffer(), encode_base64_Buffer_bin(), encode_base64_filename(), and temp_filename().
unsigned char * encode_base64_filename | ( | unsigned char * | buf, |
int | sz, | ||
unsigned char | cc ) |
unsigned char* encode_base64_filename(unsigned char* buf, int sz, unsiged char cc)
バイナリデータ bufを Base64で encodeしてファイル名を作る.ただし '/' は cc として扱う.
Definition at line 2907 of file tools.cpp.
References encode_base64().
Referenced by MaterialParam::getBase64Params().
unsigned char * encode_hex | ( | unsigned char | cc | ) |
unsigned char* encode_hex(unsigned char cc)
キャラクタを16進コードの文字列に変換する. 返されたデータは free()する必要がある.
cc | 変換するキャラクタ. |
NULL | メモリ不足. |
Definition at line 3138 of file tools.cpp.
Referenced by encode_quoted_printable(), and encode_urlenc().
unsigned char * encode_quoted_printable | ( | unsigned char * | buf, |
int | sz ) |
unsigned char* encode_quoted_printable(unsigned char* buf, int sz)
バイナリデータ bufを quoted printable にエンコードする.
RFC2047 に従い,' ' は '_' にエンコードする.
エンコードしない文字 '=', '_' 以外の 0x21-0x7e
エンコードする文字 '=', '_', 0x00-0x20, 0x7f-0xff
返されたデータは free()する必要がある.
buf | エンコードするデータ. |
sz | エンコードするデータの長さ.-1以下の場合は buf は文字列とみなす. |
Definition at line 3074 of file tools.cpp.
References encode_hex().
unsigned char * encode_urlenc | ( | unsigned char * | buf, |
int | sz ) |
unsigned char* encode_urlenc(unsigned char* buf, int sz)
バイナリデータ bufを URLエンコードする.
エンコードしない文字については色々な考え方があるが,最大公約数的に考えてこのプログラムでは以下のようにする.
エンコードしない文字 0-9, A-Z, a-z, -._
返されたデータは free()する必要がある.
buf | エンコードするデータ. |
sz | エンコードするデータの長さ.-1以下の場合は buf は文字列とみなす. |
Definition at line 2979 of file tools.cpp.
References encode_hex().
Referenced by add_form_urlenc(), and make_form_urlenc().
void euc2sjis | ( | unsigned char * | c1, |
unsigned char * | c2 ) |
void euc2sjis(unsigned char *c1, unsigned char *c2)
漢字コード変換.EUC → SJIS
[in,out] | c1 | 変換する文字の第一バイト.内容が書き換えられる. |
[in,out] | c2 | 変換する文字の第二バイト.内容が書き換えられる. |
Definition at line 2687 of file tools.cpp.
Referenced by kanji_convert_Buffer(), and kanji_convert_euc2sjis().
int ex_strncasecmp | ( | const char * | dat, |
const char * | key, | ||
int | len ) |
int ex_strncasecmp(const char* dat, const char* key, int len)
拡張文字比較.ケース無視.
dat | 比べる文字列1. |
key | 比べる文字列2. |
len | 1以上 一致させる長さ. |
len | 0 完全一致. |
len | -1 dat の長さに合わせる. |
len | -2 key の長さに合わせる. |
TRUE | 一致した |
FALSE | 一致しなかった |
Definition at line 820 of file tools.cpp.
References FALSE, strcasecmp, strncasecmp, and TRUE.
Referenced by _next_strncasecmp_horizon_tTree(), _next_strncasecmp_vertical_tTree(), del_tList_key(), get_xml_attr_node(), strncasecmp_back_tList(), strncasecmp_tList(), and strncasecmp_tTree().
int ex_strncaservscmp | ( | const char * | dat, |
const char * | key, | ||
int | len ) |
int ex_strncaervscmp(const char* dat, const char* key, int len)
拡張文字比較.後ろから比べる.ケース無視.
dat | 比べる文字列1. |
key | 比べる文字列2. |
len | 1以上 一致させる長さ. |
len | 0 完全一致. |
len | -1 dat の長さに合わせる. |
len | -2 key の長さに合わせる. |
TRUE | 一致した |
FALSE | 一致しなかった |
Definition at line 892 of file tools.cpp.
References FALSE, strcasecmp, strncaservscmp(), and TRUE.
Referenced by strncaservscmp_back_tList(), and strncaservscmp_tList().
int ex_strncmp | ( | const char * | dat, |
const char * | key, | ||
int | len ) |
int ex_strncmp(const char* dat, const char* key, int len)
拡張文字比較
dat | 比べる文字列1. |
key | 比べる文字列2. |
len | 1以上 一致させる長さ. |
len | 0 完全一致. |
len | -1 dat の長さに合わせる. |
len | -2 key の長さに合わせる. |
TRUE | 一致した |
FALSE | 一致しなかった |
Definition at line 784 of file tools.cpp.
Referenced by _next_strncmp_horizon_tTree(), _next_strncmp_vertical_tTree(), replace_all_tTree_node(), strncmp_back_tList(), strncmp_tList(), and strncmp_tTree().
int ex_strnrvscmp | ( | const char * | dat, |
const char * | key, | ||
int | len ) |
int ex_strnrvscmp(const char* dat, const char* key, int len)
拡張文字比較.後ろから比べる.
dat | 比べる文字列1. |
key | 比べる文字列2. |
len | 1以上 一致させる長さ. |
len | 0 完全一致. |
len | -1 dat の長さに合わせる. |
len | -2 key の長さに合わせる. |
TRUE | 一致した |
FALSE | 一致しなかった |
Definition at line 856 of file tools.cpp.
References FALSE, strnrvscmp(), and TRUE.
Referenced by strnrvscmp_back_tList(), and strnrvscmp_tList().
void fdump | ( | FILE * | fp, |
unsigned char * | mesg, | ||
int | n ) |
void fdump(FILE* fp, unsigned char* mesg, int n)
デバッグ用 16進ダンプ出力.
mesgの nバイトを16進表示する.n<0 の場合は 文字列とみなす.
fp | 出力するファイルへのポインタ.NULLの場合は stderr |
mesg | 表示するデータ. |
n | 表示するバイト数 |
Definition at line 4176 of file tools.cpp.
Referenced by dump_http_header(), and dump_tList().
unsigned char * fgets_mstream | ( | unsigned char * | mesg, |
mstream * | sb ) |
unsigned char* fgets_mstream(unsigned char* mesg, mstream* sb)
メッセージストリームからメッセージを一行だけ取り出す.
メッセージ mesg はメッセージストリームに一旦バッファリングされ,この関数により一行ずつ読み出される.
結果が返される時,行中の改行コードは削除され,行末には必ず \0 が入る.
メッセージストリームのバッファ部が確保されていない場合は,最初に呼び出された時点で確保される.
一旦この関数を使用して,受信データをバッファリングしたら,最後まで読み取りには必ず同じストリームを使用して
この関数を呼び出さばければならない.そうで無い場合は受信データの整合性は保証されない.
mesg | バッファに一旦格納されるメッセージ.NULLでも可. | |
[in] | sb | ストリームバッファ(リングバッファ型のストリームバッファ). |
[out] | sb | sb->buf バッファ部が確保さえていなければ,自動的に確保される. |
[out] | sb | sb->state JBXL_ERROR: メッセージストリーム操作中は異常な状態にある. |
[out] | sb | sb->state JBXL_NODATA: メッセージストリーム中に有効なデータがない.return は NULL |
Definition at line 3591 of file tools.cpp.
References get_mstream(), JBXL_NODATA, JBXL_NORMAL, make_mstream, put_mstream(), and RECVBUFSZ.
Referenced by fgets_mstream_Buffer().
FILE * file_chmod_open | ( | const char * | fn, |
const char * | fm, | ||
mode_t | mode ) |
FILE* file_chmod_open(const char* fn, const char* fm, mode_t mode)
指定したファイルが存在して読み込み可能であれば,属性をmode へ変更した後,ファイルを fmモードでオープンしなおして,ファイルポインタを返す.
存在しなければ,ファイルを作成して属性を変更し,その後,ファイルを fmモードでオープンしなおして, ファイルポインタを返す.
属性の指定方法については man 2 chmod を参照すること.
fn | ファイル名 |
fm | ファイルモード,"r","w","a"..... |
mode | 属性.see... man 2 chmod |
NULL以外 | オープンしたファイルポインタ |
NULL | 失敗. |
Definition at line 2366 of file tools.cpp.
References file_exist().
int file_exist | ( | const char * | fn | ) |
int file_exist(const char* fn)
指定したファイルが存在して読み込み可能であれば「真」をそうでなければ「偽」を返す.
ファイルを一度オープンして確認するので,時間が掛かる. 読み込み可能なファイルを確認するのであれば,file_size()の方が(たぶん)早い.
fn | ファイル名 |
TRUE | ファイルが存在し,読みこみ可能. |
FALSE | ファイルが存在しないか,または読みこみ不可能. |
Definition at line 2337 of file tools.cpp.
Referenced by file_chmod_open(), and temp_filename().
int file_from_to | ( | const char * | src, |
const char * | dst, | ||
const char * | mode ) |
int file_from_to(const char* src, const char* dst, const char* mode)
modeに従って,ファイル srcを dstにコピーする.
src | コピー元(ソース)ファイル名 |
dst | コピー先(ディスティネーション)ファイル名 |
mode | コピー先ファイルのオープンモード.fopenに同じ."r", "w", "a", "r+", "w+", "a+", .... |
0以上 | コピーしたサイズ |
JBXL_MALLOC_ERROR | 作業用メモリが足りない. |
JBXL_FILE_EXIST_ERROR | ソースファイルが存在しない.(シンボリックリンクも×) |
JBXL_FILE_OPEN_ERROR | ソースファイルのオープン失敗 |
JBXL_FILE_DESTOPEN_ERROR | ディスティネーションファイルのオープン失敗 |
Definition at line 1985 of file tools.cpp.
References file_size(), JBXL_FILE_DESTOPEN_ERROR, JBXL_FILE_EXIST_ERROR, JBXL_FILE_OPEN_ERROR, JBXL_MALLOC_ERROR, and UNUSED.
unsigned long int file_size | ( | const char * | fn | ) |
unsigned long int file_size(const char* fn)
通常のファイルの大きさを返す.シンボリックリンクなどは 0.
fn | ファイル名 |
Definition at line 2309 of file tools.cpp.
Referenced by file_from_to(), GLTFData::getGLBTextureInfo(), read_Buffer_file(), read_file(), jbxl::readCmnHeadFile(), jbxl::readDicomFile(), CBVHTool::readFile(), jbxl::readMoonFile(), jbxl::readXHead(), jbxl::readXHeadFile(), send_http_file(), send_http_res_file(), and jbxl::writeCmnHeadFile().
float float_from_big_endian | ( | void * | ptr | ) |
float float_from_big_endian(void* ptr)
Big Endian形式で格納されている float型の値を取り出す.
ptr | 変数が格納されているメモリへのポインタ |
Definition at line 282 of file tools.cpp.
References check_endian(), HostEndian, LITTLE_ENDIAN, reverse_str(), and UNKNOWN_ENDIAN.
float float_from_little_endian | ( | void * | ptr | ) |
float float_from_little_endian(void* ptr)
Little Endian形式で格納されている float型の値を取り出す.
ptr | 変数が格納されているメモリへのポインタ |
Definition at line 174 of file tools.cpp.
References BIG_ENDIAN, check_endian(), HostEndian, reverse_str(), and UNKNOWN_ENDIAN.
int fp_from_to | ( | FILE * | src, |
FILE * | dst, | ||
long int | sz ) |
int fp_from_to(FILE* src, FILE* dst, long int sz)
ファイル srcを dstにコピーする.
src | コピー元(ソース)のファイルポインタ |
dst | コピー先(ディスティネーション)のファイルポインタ |
sz | コピー元(ソース)のサイズ |
0以上 | コピーしたサイズ |
JBXL_MALLOC_ERROR | 作業用メモリが足りない. |
JBXL_ARGS_ERROR | ファイルサイズの指定がおかしい. |
JBXL_FILE_OPEN_ERROR | ソースファイルのオープン失敗. |
JBXL_FILE_DESTOPEN_ERROR | ディスティネーションファイルのオープン失敗. |
Definition at line 2035 of file tools.cpp.
References JBXL_ARGS_ERROR, JBXL_FILE_DESTOPEN_ERROR, JBXL_FILE_OPEN_ERROR, JBXL_MALLOC_ERROR, and UNUSED.
void fprint_escape | ( | FILE * | fp, |
char * | fmt, | ||
char * | mesg ) |
void fprint_escape(FILE* fp, char* fmt, char* mesg)
エスケープ文字を含むメッセージの出力.
現在は CR, LF のみ \r, \n に変換する.
fp | 出力先のファイルポインタ |
fmt | 出力フォーマット.printf() に準拠. |
mesg | エスケープ文字を含む文字列. |
Definition at line 4151 of file tools.cpp.
References change_esc(), and fprint_message().
void fprint_message | ( | FILE * | fp, |
const char * | fmt, | ||
... ) |
void fprint_message(FILE fp, const char fmt, ...)
バッファリング無しのメッセージ出力
fp | 出力先のファイルポインタ |
fmt | 出力フォーマット.printf() に準拠. |
Definition at line 4088 of file tools.cpp.
Referenced by fprint_escape().
void free_ringBuffer | ( | ringBuffer * | rb | ) |
void free_ringBuffer(ringBuffer* rb)
リングバッファのバッファ部を開放する.
rb | リングバッファへのポインタ |
Definition at line 3295 of file tools.cpp.
References ringBuffer::buf, JBXL_NORMAL, and ringBuffer::state.
char * ftostr | ( | float | n | ) |
char * ftostr_ts | ( | float | n | ) |
char* ftostr_ts(float n)
float型 nを文字列にして返す. Thread Safe
n | 文字列に変換する値 |
Definition at line 1632 of file tools.cpp.
References LDATA, and snprintf.
Referenced by make_xml_attr_byfloat().
char * get_file_extension | ( | const char * | str | ) |
char* get_file_extension(const char* str)
フルパスからファイル名の拡張子へのポインタを取り出す.
str | ファイルのフルパス |
Definition at line 2225 of file tools.cpp.
Referenced by add_resource_list(), and CBVHTool::writeMultiFile().
char * get_file_name | ( | const char * | str | ) |
char* get_file_name(const char* str)
フルパスからファイル名へのポインタを取り出す. str中のポインタを返すので,free() してはいけない.
str | ファイルのフルパス |
Definition at line 2066 of file tools.cpp.
Referenced by add_resource_list(), FBXData::outputFile(), GLTFData::outputFile(), OBJData::outputFile(), BrepSolidList::outputFile(), and ColladaXML::outputFile().
char * get_file_path | ( | const char * | str | ) |
char* make_file_path(const char* str)
フルパスからパスを生成する.strは変化しない.要 free.
非推奨:get_file_path() を使え.
str | ファイルのフルパス |
ファイルパスからパス部分のみを得る.strは変化しない.要 free.
str | ファイルのパス |
Definition at line 2191 of file tools.cpp.
char * get_gmt_timestamp | ( | time_t | date, |
const char * | format ) |
Definition at line 454 of file tools.cpp.
Referenced by get_http_header_date().
char * get_graphic_extension | ( | uWord | tex | ) |
Definition at line 4250 of file tools.cpp.
References _GraphicFileExtension, JBXL_TEXTURE_JP2K, JBXL_TEXTURE_JPEG, JBXL_TEXTURE_PNG, JBXL_TEXTURE_RAS, JBXL_TEXTURE_TGA, JBXL_TEXTURE_TIFF, and L_OCT.
char * get_line | ( | char * | buf, |
int | n ) |
char* get_line(char* buf, int n)
文字型データstrのバッファ内の n行目を取り出す.改行コードは削除される.
取り出した行を char型変数のバッファに格納して返す.
バッファの最後が '\0' で終わっている場合,バッファを越えて行を読もうとした場合は NULL を返す.
'\0' で終わっていない場合,バッファが何処で終わりかを知る事は(簡単な方法では)できない.
返されたデータは free()する必要がある.
buf | 操作対象文の字列型データ(含む改行) |
n | 行の指定.1 から数える. |
Definition at line 484 of file tools.cpp.
References CHAR_CR, and CHAR_LF.
Referenced by x2crypt().
char * get_local_timestamp | ( | time_t | date, |
const char * | format ) |
char* get_localtime(char c1, char c2, char c3, char c4)
非推奨.use get_local_timestamp(time(0), "%Y/%m/%dT%H:%M:%SZ")
ローカルタイムを "年c1月c1日c2時c3分c3秒c4" の形式で返す.
返ってきた char* ポインタは free() してはいけない.
char* get_localtime_ts(char c1, char c2, char c3, char c4)
非推奨.use get_local_timestamp(time(0), "%Y/%m/%dT%H:%M:%SZ")
ローカルタイムを "年c1月c1日c2時c3分c3秒c4" の形式で返す.
返ってきた char* ポインタは free() すること.
Definition at line 440 of file tools.cpp.
Referenced by ColladaXML::initCollada().
unsigned char * get_mstream | ( | mstream * | sb | ) |
unsigned char* get_mstream(mstream* sb)
メッセージ(文字列)ストリーム sb から次のメッセージを取り出す.改行コードは削除される.
ここで,メッセージとは \r\n, \r または \n で区切られている文字列でのことである.
[in] | sb | メッセージストリームへのポインタ |
[out] | sb | state JBXL_NORMAL: ストリームは正常状態.JBXL_ERROR: ストリームは異常な状態にある.(未実装) |
NULL以外 | 取り出したストリームデータへのポインタ.要 free |
NULL | データ取得失敗.現在有効なメッセージデータは無い.または単に失敗した. |
Definition at line 3531 of file tools.cpp.
References CHAR_CR, CHAR_LF, chomp(), get_ringBuffer(), JBXL_ERROR, and JBXL_NORMAL.
Referenced by fgets_mstream(), tcp_recv_mstream(), and tcp_recv_mstream_Buffer().
unsigned char * get_ringBuffer | ( | ringBuffer * | rb, |
int | sz ) |
unsigned char* get_ringBuffer(ringBuffer* rb, int sz)
リングバッファ rb から szバイトのデータを取り出す.
返されたデータは free()する必要がある.
[in] | rb | リングバッファへのポインタ |
[out] | rb | state JBXL_NORMAL: バッファは正常状態.JBXL_ERROR: バッファは異常な状態にある. |
sz | 取り出すバイト数. |
NULL以外 | 取り出したデータへのポインタ.データサイズは sz + 1.要 free |
NULL | データ取得失敗.現在有効なデータサイズはszより小さい.または単に失敗した. |
Definition at line 3382 of file tools.cpp.
References ringBuffer::buf, ringBuffer::bufsz, ringBuffer::datasz, and ringBuffer::spoint.
Referenced by get_mstream().
char * get_seq_data | ( | char * | buf, |
int * | ptr ) |
char* get_seq_data(char* buf, int* ptr)
文字型データ bufのバッファ内の行データをシーケンシャルに取り出す.
改行コードは削除される.連続して呼び出す場合,一番最初は *ptrに 0を設定し,以後は *ptrの内容は変えない.
取り出した行を char型変数のバッファに格納して返す.
バッファの最後が '\0' で終わっている場合,バッファを越えて行を読もうとした時は NULL を返す.
'\0' で終わっていない場合,バッファが何処で終わりかを知る事は(簡単な方法では)できない.
返されたデータは free() する必要がある.
[in] | buf | 操作対象文の字列型データ(含む改行) |
[in] | ptr | 読み込みを開始するデータの位置(バイト). |
[out] | ptr | 次のデータが始まる位置(バイト). |
Definition at line 529 of file tools.cpp.
unsigned char * guid2uuid | ( | unsigned char * | p | ) |
unsigned char* guid2uuid(unsigned char* p)
テキストのGUID をバイナリのUUID に変換する.要 free()
入力が GUIDの形式でない時は,処理結果は保証されない.
p | テキストの GUID |
Definition at line 3654 of file tools.cpp.
int hexstr2i | ( | const char * | str | ) |
16進数の文字列を整数に変換する.
空白は無視する.空白以外の16進数でない文字が出現したら,そこで変換を止める
str | 整数に変換する 16進の文字列 |
Definition at line 1706 of file tools.cpp.
Referenced by get_chunked_size().
ringBuffer init_ringBuffer | ( | void | ) |
初期化された ringBuffer変数を返す.
Definition at line 3250 of file tools.cpp.
References JBXL_NORMAL, and ringBuffer::state.
int int_from_big_endian | ( | void * | ptr | ) |
int int_from_big_endian(void* ptr)
Big Endian形式で格納されている int型の値を取り出す.
ptr | 変数が格納されているメモリへのポインタ |
Definition at line 300 of file tools.cpp.
References check_endian(), HostEndian, LITTLE_ENDIAN, reverse_str(), and UNKNOWN_ENDIAN.
int int_from_little_endian | ( | void * | ptr | ) |
int int_from_little_endian(void* ptr)
Little Endian形式で格納されている int型の値を取り出す.
ptr | 変数が格納されているメモリへのポインタ |
Definition at line 192 of file tools.cpp.
References BIG_ENDIAN, check_endian(), HostEndian, reverse_str(), and UNKNOWN_ENDIAN.
int is_big_endian | ( | void | ) |
エンディアンの動的チェック
一度呼び出すと,大域変数 HostEndian に LITTLE_ENDIAN か BIG_ENDIAN が設定される.
TRUE | Big Endian |
FALSE | Little Endian |
Definition at line 114 of file tools.cpp.
References BIG_ENDIAN, FALSE, HostEndian, LITTLE_ENDIAN, and TRUE.
Referenced by get_tiff_ifd().
int is_little_endian | ( | void | ) |
エンディアンの動的チェック
一度呼び出すと,大域変数 HostEndian に LITTLE_ENDIAN か BIG_ENDIAN が設定される.
TRUE | Little Endian |
FALSE | Big Endian |
Definition at line 80 of file tools.cpp.
References BIG_ENDIAN, FALSE, HostEndian, LITTLE_ENDIAN, and TRUE.
Referenced by check_endian(), get_tiff_ifd(), ntohull(), jbxl::readCmnHeadFile(), jbxl::readTGAData(), jbxl::readUserSetData(), jbxl::readXHeadFile(), and jbxl::setupTGAData().
int is_number | ( | unsigned char * | str | ) |
int is_number(unsigned char* str)
文字列が数字かどうか反転する.
検査する文字列 |
Definition at line 1394 of file tools.cpp.
Referenced by json_array_parse(), and json_parse_prop().
int isNull | ( | void * | p | ) |
int isNull(void* p)
ポインタが NULLかどうかを検査する.
Windowsの場合,無効ポインタも検出する.
p | 検査するポインタ. |
TRUE | ポインタがNULL,または無効(Windowsの場合) |
FALSE | ポインタはNULLではなく有効(Windowsの場合)である. |
Definition at line 51 of file tools.cpp.
References FALSE, TRUE, and WIN_DD_NULL.
char * itostr | ( | int | n | ) |
char* itostr(int n)
int型 nを文字列にして返す.
n | 文字列に変換する値 |
Definition at line 1420 of file tools.cpp.
References _ToSTR, LDATA, and snprintf.
Referenced by ColladaXML::addController(), ColladaXML::addPolylists(), and OBJData::output_obj().
char * itostr_ts | ( | int | n | ) |
char* itostr_ts(int n)
int型 nを文字列にして返す.Thread Safe
n | 文字列に変換する値 |
Definition at line 1532 of file tools.cpp.
References LDATA, and snprintf.
Referenced by _tcp_bind(), _tcp_bind_setopt(), _tcp_client_bind_socket(), _tcp_client_socket(), _tcp_connect(), _tcp_server_bind(), _tcp_server_bind_setopt(), _tcp_server_socket(), _tcp_server_socket_setopt(), _udp_bind(), _udp_bind_setopt(), _udp_client_socket(), _udp_server_socket(), _udp_server_socket_setopt(), llsd_bin_main_parse(), make_xml_attr_byint(), recv_http_Buffer(), and recv_http_file().
void kanji_convert | ( | unsigned char * | mesg | ) |
void kanji_convert(unsigned char* mesg)
大域変数 KnjiCodeに従って漢字コードを変換する.
[in,out] | mesg | 変換する文字列を持つ unsigned char*型データ.内容が書き換えられる. |
Definition at line 2629 of file tools.cpp.
References CODE_SJIS, kanji_convert_euc2sjis(), and KanjiCode.
void kanji_convert_euc2sjis | ( | unsigned char * | mesg | ) |
void kanji_convert_euc2sjis(unsigned char* mesg)
EUCをSJISに変換する.
[in,out] | mesg | 変換する文字列を持つ unsigned char*型データ.内容が書き換えられる. |
Definition at line 2644 of file tools.cpp.
References euc2sjis().
Referenced by kanji_convert().
void kanji_convert_sjis2euc | ( | unsigned char * | mesg | ) |
void kanji_convert_sjis2euc(unsigned char* mesg)
SJISをEUCに変換する.
[in,out] | mesg | 変換する文字列を持つ unsigned char*型データ.内容が書き換えられる. |
Definition at line 2664 of file tools.cpp.
References sjis2euc().
char * lltostr | ( | long long int | n | ) |
char* lltostr(long long int n)
long long int型 nを文字列にして返す.
n | 文字列に変換する値 |
Definition at line 1468 of file tools.cpp.
char * lltostr_ts | ( | long long int | n | ) |
char* lltostr_ts(long long int n)
long long int型 nを文字列にして返す.Thread Safe
n | 文字列に変換する値 |
Definition at line 1592 of file tools.cpp.
char * ltostr | ( | long int | n | ) |
char * ltostr_ts | ( | long int | n | ) |
char* ltostr_ts(long int n)
long int型 nを文字列にして返す.Thread Safe
n | 文字列に変換する値 |
Definition at line 1552 of file tools.cpp.
ringBuffer make_ringBuffer | ( | int | sz | ) |
ringBuffer make_ringBuffer(int sz)
バッファ部が存在するリングバッファを作り出す. バッファ部は free()する必要がある.
sz | リングバッファのバッファ部のサイズ |
Definition at line 3270 of file tools.cpp.
References ringBuffer::buf, ringBuffer::bufsz, JBXL_NORMAL, and ringBuffer::state.
int mkdirp | ( | const char * | path, |
mode_t | mode ) |
Definition at line 2511 of file tools.cpp.
References JBXL_ARGS_ERROR, JBXL_DIR_MAKE_ERROR, JBXL_FILE_EXIST_ERROR, JBXL_NORMAL, and mkdir.
Referenced by extract_tTar().
ringBuffer * new_ringBuffer | ( | int | sz | ) |
ringBuffer* new_ringBuffer(int sz)
リングバッファ型変数を生成する.
返されたデータは del_ringBuffer() する必要がある.
Definition at line 3204 of file tools.cpp.
References ringBuffer::buf, ringBuffer::bufsz, JBXL_NORMAL, and ringBuffer::state.
unsigned long long int ntohull | ( | unsigned long long int | s | ) |
Definition at line 1824 of file tools.cpp.
References is_little_endian().
Referenced by llsd_bin_get_date(), and llsd_bin_get_real().
char * numbering_name | ( | const char * | fmt, |
int | n ) |
char* numbering_name(const char* fmt, int n)
フォーマット fmtに従って,nを含む文字列を作り出す. 返されたデータは free()する必要がある.
fmt | フォーマット用文字列.ex. "%d %f\n" see printf() |
n | 文字に変換する整数. |
Definition at line 2598 of file tools.cpp.
References LNAME, and snprintf.
Referenced by jbxl::readGraphicSlices(), and CBVHTool::writeMultiFile().
void open_errfile | ( | void | ) |
void open_errfile(void)
デフォルトのエラーファイルをオープンする
Definition at line 3976 of file tools.cpp.
References FP_ErrFile, FP_LogFile, and JBXL_ERR_FILE.
void open_logfile | ( | void | ) |
void open_logfile(void)
デフォルトのログファイルをオープンする
Definition at line 3901 of file tools.cpp.
References FP_LogFile, and JBXL_LOG_FILE.
char * pack_char_len | ( | char * | mesg, |
char | cc, | ||
int | len ) |
char* pack_char(char* mesg, char cc)
文字列中及び,先頭のcc(複数),終わりのcc(複数),CR, LF を削除
タブは空白に変換.メッセージ中の連続する cc は 1個に変換. 返されたデータは free()する必要がある.
CR, LF も削除(無視)されるので注意.
mesg | 操作対象の文字列 |
cc | 削除する文字 |
文字列の一部の先頭のcc(複数),終わりのcc(複数),CR, LF を削除
タブは空白に変換.メッセージ中の連続する cc は 1個に変換. 返されたデータは free()する必要がある.
CR, LF も削除(無視)されるので注意.
mesg | 操作対象の文字列 |
cc | 削除する文字 |
len | 操作する文字列の長さ |
Definition at line 1154 of file tools.cpp.
char * pack_head_tail_char | ( | char * | mesg, |
char | cc ) |
char* pack_head_tail_char(char* mesg, char cc)
文字列の先頭のcc(複数),終わりのcc(複数),TAB, CR, LF を削除
文字列の先頭,終わり部分でない場所にある ccは削除されない. 返されたデータは free()する必要がある.
mesg | 操作対象の文字列 |
cc | 削除する文字 |
Definition at line 1092 of file tools.cpp.
References CHAR_CR, CHAR_LF, and CHAR_TAB.
Referenced by FBXData::outputFile(), GLTFData::outputFile(), OBJData::outputFile(), BrepSolidList::outputFile(), ColladaXML::outputFile(), xml_parse_content(), and xml_parse_end_node().
void print_16x | ( | FILE * | fp, |
unsigned char * | mesg, | ||
int | n ) |
void print_16x(FILE* fp, unsigned char* mesg, int n)
デバッグ用 16進一行出力.
mesgの nバイトの16進を一行,空白なしで表示する.n<0 の場合は 文字列とみなす.
fp | 出力するファイルへのポインタ.NULLの場合は stderr |
mesg | 表示するデータ. |
n | 表示するバイト数 |
Definition at line 4227 of file tools.cpp.
void print_errfile | ( | const char * | fmt, |
... ) |
void print_errfile(const char* fmt, ...)
デフォルトのエラーファイルにデータを書き込む
Definition at line 4006 of file tools.cpp.
References FALSE, FP_ErrFile, JBXL_ERR_FILE, and TRUE.
void print_escape | ( | const char * | fmt, |
char * | mesg ) |
void print_escape(const char* fmt, const char* mesg)
エスケープ文字を含むメッセージの出力.(stderr)
現在は CR, LF のみ \r, \n に変換する.see change_esc()
fmt | 出力フォーマット.printf() に準拠. |
mesg | エスケープ文字を含む文字列. |
Definition at line 4124 of file tools.cpp.
References change_esc(), and PRINT_MESG.
void print_logfile | ( | const char * | fmt, |
... ) |
void print_logfile(const char* fmt, ...)
デフォルトのログファイルにデータを書き込む
Definition at line 3931 of file tools.cpp.
References FALSE, FP_LogFile, JBXL_LOG_FILE, and TRUE.
void print_message | ( | const char * | fmt, |
... ) |
void print_message(const char* fmt, ...)
バッファリング無しのメッセージ出力(stderr)
fmt | 出力フォーマット.printf() に準拠. |
Definition at line 4054 of file tools.cpp.
Referenced by AffineTrans< T >::printComponents(), and AffineTrans< T >::printMatrix().
int put_mstream | ( | mstream * | sb, |
unsigned char * | mesg ) |
int put_mstream(mstream* sb, unsigned char* mesg)
メッセージ(文字列)ストリーム sb へメッセージ(の一部)を格納する.
ここで,メッセージとは \r\n, \r または \n で区切られている文字列でのことである.
[in] | sb | メッセージストリームへのポインタ |
[out] | sb | state JBXL_NORMAL: ストリームは正常状態.JBXL_ERROR: ストリームは異常な状態にある. |
mesg | 格納するメッセージ,またはその一部 |
0以上 | 書き込んだバイト数(CRLFを含む) |
JBXL_ARGS_ERROR | 引数にNULLのデータがある. |
JBXL_TOOLS_BUF_ERROR | バッファ(データ格納)部の領域がない. |
JBXL_TOOLS_BUFSZ_ERROR | バッファ(データ格納)部の大きさがたりない. |
Definition at line 3490 of file tools.cpp.
References CHAR_CR, CHAR_LF, JBXL_ARGS_ERROR, JBXL_ERROR, JBXL_NORMAL, JBXL_TOOLS_BUF_ERROR, and put_ringBuffer().
Referenced by fgets_mstream(), tcp_recv_mstream(), and tcp_recv_mstream_Buffer().
int put_ringBuffer | ( | ringBuffer * | rb, |
unsigned char * | pp, | ||
int | sz ) |
int put_ringBuffer(ringBuffer* rb, unsigned char* pp, int sz)
リングバッファ rb へデータを szバイト格納する.
[in] | rb | リングバッファへのポインタ |
[out] | rb | state JBXL_NORMAL: バッファは正常状態.JBXL_ERROR: バッファは異常な状態にある. |
pp | 格納するデータへのポインタ. | |
sz | 格納するデータのサイズ(Byte) |
0以上 | 書き込んだバイト数. |
JBXL_ARGS_ERROR | 引数にNULLのデータがある. |
JBXL_TOOLS_BUF_ERROR | バッファ(データ格納)部の領域がない. |
JBXL_TOOLS_BUFSZ_ERROR | バッファ(データ格納)部の大きさがたりない.データはputされなかった. |
Definition at line 3341 of file tools.cpp.
References ringBuffer::buf, ringBuffer::bufsz, ringBuffer::datasz, ringBuffer::epoint, JBXL_ARGS_ERROR, JBXL_ERROR, JBXL_NORMAL, JBXL_TOOLS_BUF_ERROR, JBXL_TOOLS_BUFSZ_ERROR, and ringBuffer::state.
Referenced by put_mstream().
unsigned char * randbit | ( | int | n | ) |
unsigned char* randbit(int n)
ランダムに n bitのバイナリを生成する. 返されたデータは free()する必要がある.
n | 出力する bit数. |
Definition at line 1804 of file tools.cpp.
References setBit.
char * randstr | ( | int | n | ) |
char* randstr(int n)
ランダムに A-Za-z0-9 までの文字を n文字生成する. 返されたデータは free()する必要がある.
n | 出力する文字数. |
Definition at line 1777 of file tools.cpp.
Referenced by temp_filename().
unsigned char * read_file | ( | const char * | fname, |
long unsigned int * | size ) |
unsigned char* read_file(const char* fname, long unsigned int* size)
ファイルを読み込んで,データへのポインタを返す.
fname | ファイル名 |
size | 読み込んだデータのサイズを返す. |
Definition at line 2460 of file tools.cpp.
References file_size(), and UNUSED.
Referenced by read_tiff_file().
unsigned char * ref_ringBuffer | ( | ringBuffer * | rb, |
int | pos ) |
unsigned char* ref_ringBuffer(ringBuffer* rb, int pos)
リングバッファ rb の spoint + pos の位置にあるデータへの参照.
rb | リングバッファへのポインタ |
pos | 参照するデータの spoint からの位置. |
参照データへのポインタ. |
Definition at line 3454 of file tools.cpp.
References ringBuffer::buf, ringBuffer::bufsz, ringBuffer::datasz, and ringBuffer::spoint.
void replace_char | ( | unsigned char * | buf, |
int | len, | ||
unsigned char | frm, | ||
unsigned char | toc ) |
void replace_char(unsigned char* buf, int len, unsigned char frm, unsigned char toc)
buf中の frm (char) を tosで置き換える.
buf | 操作対象のデータ.バイナリも可. |
len | bufの領域の大きさ(長さ)'\0'を含む.<= 0 の場合は buf を文字列として扱う. |
frm | 変換するバイトデータ |
tos | 変換後の倍とデータ |
Definition at line 1252 of file tools.cpp.
Referenced by GLTFData::output_gltf(), OBJData::output_mtl(), and OBJData::output_obj().
char * replace_str | ( | char * | buf, |
int | len, | ||
const char * | frm, | ||
const char * | tos ) |
char* replace_str(char* buf, int len, const char* frm, const char* tos)
buf中の文字列 frmを tosで置き換える.
bufには十分な領域がなければならない.frmは bufとメモリ領域が重なってはいけない.
失敗した場合は NULLを返し,bufの内容は変化しない.
[in] | buf | 操作対象の文字列 |
[out] | buf | 変換された文字列 |
len | buf中の変換対象のbufの領域の大きさ(長さ) | |
frm | 変換する文字列 | |
tos | 変換後の文字列 |
Definition at line 1282 of file tools.cpp.
Referenced by bvh_get_seq_data().
void reverse_str | ( | uByte * | p, |
int | s ) |
void reverse_str(uByte* p, int s)
バイト列を逆順にする.
[in,out] | p | バイトデータへのポインタ. |
s | バイトデータの長さ. |
Definition at line 1952 of file tools.cpp.
Referenced by double_from_big_endian(), double_from_little_endian(), float_from_big_endian(), float_from_little_endian(), int_from_big_endian(), int_from_little_endian(), short_from_big_endian(), short_from_little_endian(), swap_byte(), uint_from_big_endian(), uint_from_little_endian(), ushort_from_big_endian(), and ushort_from_little_endian().
int seek_ringBuffer | ( | ringBuffer * | rb, |
int | sz ) |
int seek_ringBuffer(ringBuffer* rb, int sz)
リングバッファ rb の読み取り開始ポインタ spoint を sz 移動させる.
rb | リングバッファへのポインタ |
sz | 開始ポインタを移動させる量.負数(バック)も可. |
Definition at line 3423 of file tools.cpp.
References ringBuffer::buf, ringBuffer::bufsz, ringBuffer::datasz, FALSE, ringBuffer::spoint, and TRUE.
short short_from_big_endian | ( | void * | ptr | ) |
short short_from_big_endian(void* ptr)
Big Endian形式で格納されている short int型の値を取り出す.
ptr | 変数が格納されているメモリへのポインタ |
Definition at line 336 of file tools.cpp.
References check_endian(), HostEndian, LITTLE_ENDIAN, reverse_str(), and UNKNOWN_ENDIAN.
short short_from_little_endian | ( | void * | ptr | ) |
short short_from_little_endian(void* ptr)
Little Endian形式で格納されている short int型の値を取り出す.
ptr | 変数が格納されているメモリへのポインタ |
Definition at line 228 of file tools.cpp.
References BIG_ENDIAN, check_endian(), HostEndian, reverse_str(), and UNKNOWN_ENDIAN.
void sjis2euc | ( | unsigned char * | c1, |
unsigned char * | c2 ) |
void sjis2euc(unsigned char *c1, unsigned char *c2)
漢字コード変換.SJIS → EUC
[in,out] | c1 | 変換する文字の第一バイト.内容が書き換えられる. |
[in,out] | c2 | 変換する文字の第二バイト.内容が書き換えられる. |
Definition at line 2716 of file tools.cpp.
Referenced by kanji_convert_sjis2euc().
char * skip_char | ( | char * | pp, |
char | cc ) |
char* skip_char(char* pp, char cc)
文字列 pp の中で,次の cc までポインタをスキップさせる.
ただし," ", ' ' 内に該当文字があった場合,それらは無視される.
pp | 文字列の先頭ポインタ |
cc | スキップする文字を格納した文字列. |
Definition at line 985 of file tools.cpp.
char * skip_char_pair | ( | char * | pp, |
char | pair, | ||
char | end ) |
char* skip_char_pair(char* pp, char pair, char end)
pair から始まって end で閉じるまで,ポインタをスキップさせる.ただし " " と ' ' 内は完全スキップ
pair と end は対になっている必要がある.
pp は pair の位置を指しているのが望ましい.指していなくても動くけど....
ペアの end がない場合は '\0' へのポインタを返す.
pp | 操作対象の文字列 |
pair | ペアとなる最初の文字 |
end | ペアとなる最後の文字 |
Definition at line 1022 of file tools.cpp.
Referenced by json_array_parse(), and json_parse_prop().
char * skip_chars | ( | char * | pp, |
const char * | check ) |
char* skip_chars(char* pp, const char* check)
ppの指す文字列中で,check[]に格納されたいずれかの文字までポインタをスキップさせる.
ただし," ", ' ' 内に該当文字があった場合,それらは無視される.
pp | 文字列の先頭ポインタ |
check | スキップする文字を格納した文字列. |
Definition at line 948 of file tools.cpp.
Referenced by json_array_parse(), xml_parse_comment_node(), xml_parse_data_node(), xml_parse_end_node(), xml_parse_processing_node(), and xml_parse_start_node().
char * skip_string_end | ( | char * | pp | ) |
char* skip_string_end(char* pp)
文字列の最後までポインタをスキップする.
ppの指す文字列 "〜" または '〜' の最後の クォーテーションへのポインタ
pp | 文字列の先頭の クォーテーションへのポインタ |
Definition at line 1060 of file tools.cpp.
Referenced by json_parse_prop().
int strncaservscmp | ( | const char * | s1, |
const char * | s2, | ||
int | n ) |
int strncaservscmp(const char* s1, const char* s2, int n)
文字列 s1と s2を後ろから n文字比較する.
0 | 一致する |
1 | 一致しない |
Definition at line 703 of file tools.cpp.
Referenced by ex_strncaservscmp().
int strnrvscmp | ( | const char * | s1, |
const char * | s2, | ||
int | n ) |
int strnrvscmp(const char* s1, const char* s2, int n)
文字列 s1と s2を後ろから n文字比較する.
0 | 一致する |
1 | 一致しない |
Definition at line 674 of file tools.cpp.
Referenced by ex_strnrvscmp(), and is_host_in_list().
char * strstrcase | ( | const char * | buf, |
const char * | nd ) |
char* strstrcase(const char* buf, const char* nd)
文字列 bufの中に部分文字列 ndがあるかどうかをチェックする.大文字小文字を区別しない.
大文字小文字を区別しない点を除けば,strstr() と同じ.
つまり strcasestr() と同じ.標準で strcasestr()が存在しない場合に使用.
buf | 検索対象の文字列 |
nd | 検索する部分文字列 |
Definition at line 736 of file tools.cpp.
References upper_string().
Referenced by search_protocol_header_partvalue(), strstrcase_back_tList(), and strstrcase_tList().
void swap_byte | ( | void * | p, |
int | s, | ||
int | c ) |
void swap_byte(void* p, int s, int c)
上位バイトと下位バイトを逆順にする.
pが指す長さ sのデータを cバイトづつ逆順にする.
[in,out] | p | データへのポインタ. |
s | データの長さ.バイト単位. | |
c | 逆順にするデータの長さ.バイト単位. |
Definition at line 1854 of file tools.cpp.
References reverse_str().
Referenced by jbxl::RGB2Word().
long long int swapd | ( | unsigned long long int | p | ) |
long long int swapd(unsigned long long int p)
int型 64bit pを8bitづつ逆順にする
ntohl(), htonl()の代替関数.Windows用.
p | 入れ替える値 |
int swapl | ( | unsigned int | p | ) |
int型 32bit pを8bitづつ逆順にする
ntohl(), htonl()の代替関数.Windows用.
p | 入れ替える値 |
Definition at line 1896 of file tools.cpp.
Referenced by get_tiff_ifd(), and get_tiff_uint_field().
short swaps | ( | unsigned short | p | ) |
short swaps(unsigned short p)
short型(16bit)pの上下8bitを入れ替える. ntohs(), htons()の代替関数.Windows用.
p | 入れ替える値 |
Definition at line 1872 of file tools.cpp.
Referenced by get_tiff_ifd(), and get_tiff_uint_field().
char * temp_filename | ( | const char * | dir, |
int | flen ) |
char* temp_filename(const char* dir, int flen)
/dev/urandom を利用して作業用ファイルのランダムなファイル名を得る.
/dev/urandom が読めない場合は randstr() を利用する. 返されたデータは free()する必要がある.
dir | 作業ファイルを作るディレクトリ |
flen | 生成するファイル名の長さ |
Definition at line 2397 of file tools.cpp.
References encode_base64(), file_exist(), randstr(), and UNUSED.
Referenced by gz_decode_file_replace(), and save_http_xml().
unsigned int uint_from_big_endian | ( | void * | ptr | ) |
unsigned int uint_from_big_endian(void* ptr)
Big Endian形式で格納されている unsigned int型の値を取り出す.
ptr | 変数が格納されているメモリへのポインタ |
Definition at line 318 of file tools.cpp.
References check_endian(), HostEndian, LITTLE_ENDIAN, reverse_str(), and UNKNOWN_ENDIAN.
unsigned int uint_from_little_endian | ( | void * | ptr | ) |
unsigned int uint_from_little_endian(void* ptr)
Little Endian形式で格納されている unsigned int型の値を取り出す.
ptr | 変数が格納されているメモリへのポインタ |
Definition at line 210 of file tools.cpp.
References BIG_ENDIAN, check_endian(), HostEndian, reverse_str(), and UNKNOWN_ENDIAN.
char * ulltostr | ( | unsigned long long int | n | ) |
char* ulltostr(unsigned long long int n)
unsigned long long int型 nを文字列にして返す.
n | 文字列に変換する値 |
Definition at line 1484 of file tools.cpp.
char * ulltostr_ts | ( | unsigned long long int | n | ) |
char* ulltostr_ts(unsigned long long int n)
unsigned long long int型 nを文字列にして返す. Thread Safe
n | 文字列に変換する値 |
Definition at line 1612 of file tools.cpp.
References LDATA, and snprintf.
Referenced by llsd_bin_main_parse().
char * ultostr | ( | unsigned long int | n | ) |
char* ultostr(unsigned long int n)
unsigned long int型 nを文字列にして返す.
n | 文字列に変換する値 |
Definition at line 1452 of file tools.cpp.
char * ultostr_ts | ( | unsigned long int | n | ) |
char* ultostr_ts(unsigned long int n)
unsigned long int型 nを文字列にして返す.Thread Safe
n | 文字列に変換する値 |
Definition at line 1572 of file tools.cpp.
void upper_string | ( | char * | str | ) |
str中の小文字を大文字に変換する
[in,out] | str | 変換する文字列へのポインタ.内容が書き換えられる. |
Definition at line 2756 of file tools.cpp.
Referenced by strstrcase().
unsigned short ushort_from_big_endian | ( | void * | ptr | ) |
unsigned short ushort_from_big_endian(void* ptr)
Big Endian形式で格納されている unsigned short int型の値を取り出す.
ptr | 変数が格納されているメモリへのポインタ |
Definition at line 354 of file tools.cpp.
References check_endian(), HostEndian, LITTLE_ENDIAN, reverse_str(), and UNKNOWN_ENDIAN.
unsigned short ushort_from_little_endian | ( | void * | ptr | ) |
unsigned short ushort_from_little_endian(void* ptr)
Little Endian形式で格納されている unsigned short int型の値を取り出す.
ptr | 変数が格納されているメモリへのポインタ |
Definition at line 246 of file tools.cpp.
References BIG_ENDIAN, check_endian(), HostEndian, reverse_str(), and UNKNOWN_ENDIAN.
unsigned char * uuid2guid | ( | unsigned char * | p | ) |
unsigned char* uuid2guid(unsigned char* p)
バイナリの UUID を テキストのGUIDに変換する.要 free()
p | バイナリの UUID. 128bit |
Definition at line 3628 of file tools.cpp.
References LGUID, and snprintf.
Referenced by llsd_bin_main_parse().
long unsigned int write_file | ( | const char * | fname, |
unsigned char * | buf, | ||
long unsigned int | size ) |
unsigned long int write_file(const char* fname, unsigned char* buf, long unsigned int size)
ファイルにデータを書き込む
fname | ファイル名. |
buf | 書き込むデータへのポインタ. |
size | 書き込むデータのサイズ. |
Definition at line 2497 of file tools.cpp.
Referenced by extract_tTar().
|
static |
Definition at line 4248 of file tools.cpp.
Referenced by get_graphic_extension().
|
static |
FILE* FP_ErrFile = NULL |
Definition at line 3893 of file tools.cpp.
Referenced by close_errfile(), open_errfile(), and print_errfile().
FILE* FP_LogFile = NULL |
Definition at line 3892 of file tools.cpp.
Referenced by close_logfile(), open_errfile(), open_logfile(), and print_logfile().
int HostEndian = UNKNOWN_ENDIAN |
ホストの Endian
Definition at line 21 of file tools.cpp.
Referenced by check_endian(), double_from_big_endian(), double_from_little_endian(), float_from_big_endian(), float_from_little_endian(), int_from_big_endian(), int_from_little_endian(), is_big_endian(), is_little_endian(), short_from_big_endian(), short_from_little_endian(), uint_from_big_endian(), uint_from_little_endian(), ushort_from_big_endian(), and ushort_from_little_endian().
int KanjiCode = CODE_UTF8 |
処理用漢字コード.CODE_US, CODE_SJIS, CODE_EDUがある.デフォルトは CODE_US.
Definition at line 20 of file tools.cpp.
Referenced by kanji_convert(), and kanji_convert_Buffer().
unsigned char LocalIPNum[4] = {0x7f, 0x00, 0x00, 0x01} |
unsigned char LocalIPNum6[16] = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01} |