std::wstring CommandHandler::ConvertVariantToWString(VARIANT* to_convert) { VARTYPE type = to_convert->vt; switch(type) { case VT_BOOL: return to_convert->boolVal == VARIANT_TRUE ? L"true" : L"false"; case VT_BSTR: if (!to_convert->bstrVal) { return L""; } return to_convert->bstrVal; case VT_I4: { wchar_t* buffer = reinterpret_cast<wchar_t*>(malloc(sizeof(wchar_t) * MAX_DIGITS_OF_NUMBER)); if (buffer != NULL) { _i64tow_s(to_convert->lVal, buffer, MAX_DIGITS_OF_NUMBER, BASE_TEN_BASE); } return buffer; } case VT_EMPTY: return L""; case VT_NULL: // TODO(shs96c): This should really return NULL. return L""; // This is lame case VT_DISPATCH: return L""; } return L""; }
VOID PrintAvailableMemory() { WCHAR sz[MAX_PATH] = { 0 }; _i64tow_s(GetAvailableMemory(), sz, _countof(sz), 10); std::wstring s = AddComma(sz); logw(L"AvailableMemory: %s", s.c_str()); }
JavascriptString* JavascriptTypedNumber<__int64>::ToString(Var value, ScriptContext* scriptContext) { char16 szBuffer[30]; __int64 val = JavascriptTypedNumber<__int64>::FromVar(value)->GetValue(); errno_t err = _i64tow_s(val, szBuffer, 30, 10); AssertMsg(err == 0, "convert int64 to string failed"); return JavascriptString::NewCopySz(szBuffer, scriptContext); }
STDMETHODIMP CConnRecord::get_LongValue(BSTR* retVal) { CComBSTR ret; wchar_t tmp[256]; _i64tow_s(m_rec.longValue, tmp, 256, 10); ret = tmp; *retVal = ret.Copy(); return S_OK; }
void PerfTimer::Dump(LogFile& logfile) { std::wstring msg(L"---\n"); const int BUFF_SIZE = 64; wchar_t buff[BUFF_SIZE]; for (std::vector<std::pair<int, int64_t>>::iterator ti(_times.begin() + 1); ti != _times.end(); ++ti) { _itow_s(ti->first, buff, BUFF_SIZE, 10); msg += buff; msg += L' '; _i64tow_s(ti->second - _times.front().second, buff, BUFF_SIZE, 10); msg += buff; msg += L'\n'; } logfile.Raw(msg); _times.clear(); }
/* __int64 DuyetThuMuc(TCHAR *szDuongDan) { __int64 kq = 0; // Ket qua WIN32_FIND_DATA FindFileData; HANDLE hFind; TCHAR temp[265]; wsprintf(temp, _T("%s*"), szDuongDan); hFind = FindFirstFile(temp, &FindFileData); if (hFind == INVALID_HANDLE_VALUE) { int t = GetLastError(); if (t == 21 // O CD, Floppy disk chua co dia || t == 2) // Khong tim thay file nao, tuc o dia rong return 0; // Loi chua xac dinh ErrorExit(temp);//_T("\"DuyetThuMuc() FindFirstFile\"")); } // La thu muc if (wcscmp(FindFileData.cFileName, _T(".")) == 0) { // Bo qua thu muc .. FindNextFile(hFind, &FindFileData); if (!FindNextFile(hFind, &FindFileData)) // Thu muc rong return 0; } else; // La o dia bool flag = false; size_t len = wcslen(szDuongDan); wcscpy_s(temp, szDuongDan); // Tim tat ca cac thu muc con va tap tin do { // Thu muc if (FindFileData.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY) { // Them vao cuoi chuoi duong dan cu ten thu muc vua tim duoc // va chuoi "\*" de kiem tra thu muc nay co chua thu muc con hay khong temp[len] = 0; wsprintf(temp, _T("%s%s\\"), temp, FindFileData.cFileName); kq += DuyetThuMuc(temp); } else // Tap tin kq += (FindFileData.nFileSizeHigh * (__int64(MAXDWORD) + 1)) + FindFileData.nFileSizeLow; } while (FindNextFile(hFind, &FindFileData)); FindClose(hFind); return kq; } */ TCHAR * HienThiDungLuong(__int64 size) { TCHAR *temp = new TCHAR[30]; TCHAR temp1[30]; char arr[] = {' ','K', 'M', 'G', 'T'}; int du; int dem = 0; for (;size >= 1024; ++dem) { du = int(size % 1024); size = size / 1024; } _i64tow_s(size, temp1, 30, 10); ThemPhay(temp1); if (dem > 0) wsprintf(temp, _T("%s.%d %cB"), temp1, int((size / 1024.0) * 100), arr[dem]); else // dung luong tinh bang byte wsprintf(temp, _T("%s bytes"), temp1); return temp; }
std::wstring i2ws( long long int i ) { wchar_t buf[100] = L""; _i64tow_s(i,buf,100,10); return buf; }
//add boundary to shot or sub shot fragment node HRESULT AddBoundaryNodeToDocumentFragment( IXMLDOMDocument* pDOM, BSTR indentBstr, IXMLDOMDocumentFragment* pdf, // Release is completed outside unsigned int bgnFrameId, unsigned int endFrameId, __int64 bgnFrameTime, __int64 endFrameTime) { BSTR bstr = NULL; BSTR bstr_wst = SysAllocString(L"\t"); IXMLDOMElement* pe = NULL; IXMLDOMDocumentFragment* pdfSub = NULL; HRESULT hr = S_OK; do { //create a Node to hold boundary. bstr = SysAllocString(L"Boundary"); HR_SUCCESSCALL( pDOM->createElement(bstr, &pe), hr ); SAFE_BSTR_RELEASE(bstr); //create a document fragment to hold boundary's sub-elements. HR_SUCCESSCALL( pDOM->createDocumentFragment(&pdfSub), hr ); //add sub elements to pdfSub //add white space before <BgnFrameId> HR_SUCCESSCALL( AddWhiteSpaceToNode(pDOM, indentBstr, pdfSub), hr ); HR_SUCCESSCALL( AddWhiteSpaceToNode(pDOM, bstr_wst, pdfSub), hr ); const int radix = 10; const size_t sizeOfstr = 30; wchar_t wszBgnFrmIdString[sizeOfstr] = {0}; _itow_s(bgnFrameId, wszBgnFrmIdString, sizeOfstr, radix); HR_SUCCESSCALL( AddSubNodeToDocumentFragment(pDOM, L"BgnFrameId", wszBgnFrmIdString, pdfSub), hr ); //<EndFrameId> HR_SUCCESSCALL( AddWhiteSpaceToNode(pDOM, indentBstr, pdfSub), hr ); HR_SUCCESSCALL( AddWhiteSpaceToNode(pDOM, bstr_wst, pdfSub), hr ); wchar_t wszEndFrmIdString[sizeOfstr] = {0}; _itow_s(endFrameId, wszEndFrmIdString, sizeOfstr, radix); HR_SUCCESSCALL( AddSubNodeToDocumentFragment(pDOM, L"EndFrameId", wszEndFrmIdString, pdfSub), hr ); //<BgnFrameTime> HR_SUCCESSCALL( AddWhiteSpaceToNode(pDOM, indentBstr, pdfSub), hr ); HR_SUCCESSCALL( AddWhiteSpaceToNode(pDOM, bstr_wst, pdfSub), hr ); //begintime wchar_t wszBgnFrmTimeString[sizeOfstr*2] = {0}; _i64tow_s(bgnFrameTime, wszBgnFrmTimeString, sizeOfstr*2, 10); HR_SUCCESSCALL( AddSubNodeToDocumentFragment(pDOM, L"BgnFrameTime", wszBgnFrmTimeString, pdfSub), hr ); //<EndFrameId> HR_SUCCESSCALL( AddWhiteSpaceToNode(pDOM, indentBstr, pdfSub), hr ); HR_SUCCESSCALL( AddWhiteSpaceToNode(pDOM, bstr_wst, pdfSub), hr ); //endtime wchar_t wszEndFrmTimeString[sizeOfstr*2] = {0}; _i64tow_s(endFrameTime, wszEndFrmTimeString, sizeOfstr*2, 10); HR_SUCCESSCALL( AddSubNodeToDocumentFragment(pDOM, L"EndFrameTime", wszEndFrmTimeString, pdfSub), hr ); //add Boundary to document fragment node HR_SUCCESSCALL( AppendChildToParent(pdfSub, pe), hr ); HR_SUCCESSCALL( AddWhiteSpaceToNode(pDOM, indentBstr, pe), hr ); HR_SUCCESSCALL( AppendChildToParent(pe, pdf), hr ); }while(0); //release com object SAFE_COM_RELEASE(pdfSub); SAFE_COM_RELEASE(pe); //release bstr SAFE_BSTR_RELEASE(bstr); SAFE_BSTR_RELEASE(bstr_wst); return hr; }