repl_lltot.cpp
来自「clucene是c++版的全文检索引擎,完全移植于lucene,采用 stl 编」· C++ 代码 · 共 48 行
CPP
48 行
/*------------------------------------------------------------------------------
* Copyright (C) 2003-2006 Ben van Klinken and the CLucene Team
*
* Distributable under the terms of either the Apache License (Version 2.0) or
* the GNU Lesser General Public License, as specified in the COPYING file.
------------------------------------------------------------------------------*/
#include "CLucene/StdHeader.h"
TCHAR* lucene_i64tot(
int64_t value, /* [I] Value to be converted */
TCHAR* str, /* [O] Destination for the converted value */
int radix) /* [I] Number base for conversion */
{
uint64_t val;
int negative;
TCHAR buffer[65];
TCHAR* pos;
int digit;
if (value < 0 && radix == 10) {
negative = 1;
val = -value;
} else {
negative = 0;
val = value;
} /* if */
pos = &buffer[64];
*pos = '\0';
do {
digit = val % radix;
val = val / radix;
if (digit < 10) {
*--pos = '0' + digit;
} else {
*--pos = 'a' + digit - 10;
} /* if */
} while (val != 0L);
if (negative) {
*--pos = '-';
} /* if */
_tcsncpy(str,pos,&buffer[64] - pos + 1); //needed for unicode to work
return str;
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?