这篇教程C++ strcat_s函数代码示例写得很实用,希望能帮到您。
本文整理汇总了C++中strcat_s函数的典型用法代码示例。如果您正苦于以下问题:C++ strcat_s函数的具体用法?C++ strcat_s怎么用?C++ strcat_s使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。 在下文中一共展示了strcat_s函数的29个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。 示例1: fileSendUdpint fileSendUdp(int socket, char *filename, struct sockaddr_in addr) { fd_set rfds; struct timeval tv; int received; FILE *stream; //fopen check for(int i = 0; i < strlen(filename); i++) { if(filename[i] == '/n') filename[i] = '/0'; } if(fopen_s(&stream, adaptFileName(filename), "rb" )) { perror("fopen error"); return -1; } else { char sendline[1024] = "/sendfile "; //command to server for start receiving strcat_s(sendline, 1024, filename); //send(socket, sendline, 1024, 0); sendto(socket, sendline, 1024, NULL, (struct sockaddr*)&addr, sizeof(addr)); } char buff[1024]; int sizeCheck = 0, fileSize; fseek(stream,0,SEEK_END); fileSize = ftell(stream); //filesize calc fseek(stream,0,SEEK_SET); printf("Filesize: %d/n", fileSize); char fsz[1024]; _itoa_s(fileSize, fsz, 1024, 10); //send file size to server //send(socket, fsz, 1024, 0); sendto(socket, fsz, 1024, NULL, (struct sockaddr*)&addr, sizeof(addr)); //recv(socket, fsz, 1024, 0); int addrSize = sizeof(addr); recvfrom(socket, fsz, 1024, NULL, (struct sockaddr*)&addr, &addrSize); int servFileSize = atoi(fsz); printf("Server's file size: %d/n", servFileSize); if(servFileSize == fileSize) { puts("File already exist on server"); fclose(stream); return 0; } sizeCheck = servFileSize; fseek(stream, servFileSize, SEEK_SET); //int n = 1; //bool next = true; while(sizeCheck < fileSize - 1) { int read; FD_ZERO(&rfds); FD_SET(socket, &rfds); tv.tv_sec = 1; tv.tv_usec = 0; select(0, &rfds, NULL, NULL, &tv); recvfrom(socket, fsz, 1024, NULL, (struct sockaddr*)&addr, &addrSize); servFileSize = atoi(fsz); fseek(stream,servFileSize,SEEK_SET); read = fread_s(buff, 1024, sizeof(bool), 1024, stream); int sent = sendto(socket, buff, read, NULL, (struct sockaddr*)&addr, sizeof(addr)); sizeCheck += read; } fclose(stream); printf("done/n"); return 0;}
开发者ID:nonamerz,项目名称:SPOLX_Lab3-4,代码行数:64,
示例2: main//.........这里部分代码省略......... i < ArrayCount(TrainData); ++i) { TrainData[i][0] = RandomBetween(-3,3); TrainData[i][1] = RandomBetween(-3,3); TrainData[i][2] = FunctionProblemTwoWithNoise(TrainData[i][0], TrainData[i][1]); TestData[i][0] = RandomBetween(-3,3); TestData[i][1] = RandomBetween(-3,3); TestData[i][2] = FunctionProblemTwoWithNoise(TrainData[i][0], TrainData[i][1]); } u32 numLayers = 4; u32 lSz[4] = {2,25,10,1};#endif //crash if I missed a number change Assert(numLayers == ArrayCount(lSz)); r32 beta = 0.3f, alpha = 0.1f; u32 num_iter = 5000000; CBackProp *bp = new CBackProp(numLayers, lSz, beta, alpha); u32 DataPointSize = lSz[0] + lSz[numLayers - 1]; //iterate up to the max iterations for (u32 IterationIndex = 0; IterationIndex < num_iter; ++IterationIndex) { r32 MeanSquareError = 0; for(u32 DataPointIndex = 0; DataPointIndex < DataPointCount; ++DataPointIndex) { //backpropogate the training data and caluculate the mse r32 *target = &TrainData[DataPointIndex][lSz[0]]; bp->bpgt(TrainData[DataPointIndex], target); MeanSquareError += bp->mse(target); } //if average of MSE over the set of test data is below the threshold, end training MeanSquareError /= DataPointCount; if(MeanSquareError < Thresh) { printf("network trained, MSE: %f/n", MeanSquareError); break; } else { printf("training... MSE: %f/n", MeanSquareError); } }#if 1 //create ofs to create csvs of the data const char *path_prefix = "../data/"; char OutputFilename[80]; strcpy_s(OutputFilename, path_prefix); strcat_s(OutputFilename, filename); char TestDataFilename[80]; strcpy_s(TestDataFilename, path_prefix); strcat_s(TestDataFilename, "test"); strcat_s(TestDataFilename, filename); printf("%s/n%s/n", OutputFilename, TestDataFilename); std::ofstream NetworkOutput, TestDataOutput; NetworkOutput.open(OutputFilename, std::ofstream::out); TestDataOutput.open(TestDataFilename, std::ofstream::out); //iterate through each test data point, feed forward, and save out the results for (u32 i = 0 ; i < DataPointCount ; i++ ) { r32 *DataPoint = TestData[i]; bp->ffwd(DataPoint); r32 output = DataPoint[lSz[0]]; r32 prediction = bp->Out(0); r32 reNormalized = (prediction * 10) - 5; for(u32 InputIndex = 0; InputIndex < lSz[0]; ++InputIndex) { NetworkOutput << DataPoint[InputIndex] << ','; TestDataOutput << DataPoint[InputIndex] << ','; } NetworkOutput << reNormalized << std::endl; TestDataOutput << ((output*10)-5) << std::endl; }#endif NetworkOutput.close(); return 1;}
开发者ID:sggrissom,项目名称:SchoolProjects,代码行数:101,
示例3: memsetUINT iTunesApi::Init(){ int result = FALSE; char newlibvar[2048]; char *libvar; memset(newlibvar, 0, sizeof(newlibvar)); libvar = getenv("path"); sprintf(newlibvar, "path=%s", libvar); strcat_s(newlibvar, ";C://Program Files//Common Files//Apple//Mobile Device Support;"); strcat_s(newlibvar, "C://Program Files//Common Files//Apple//Apple Application Support;"); _putenv(newlibvar); _iTunes_mobile_device_dll = ::LoadLibrary(L"iTunesMobileDevice.dll"); _core_function_dll = ::LoadLibrary(L"CoreFoundation.dll"); //am LOAD_LIBRARY_API(_iTunes_mobile_device_dll, AMRestoreRegisterForDeviceNotifications, func_AMRestoreRegisterForDeviceNotifications, "AMRestoreRegisterForDeviceNotifications"); LOAD_LIBRARY_API(_iTunes_mobile_device_dll, AMDServiceConnectionSend, func_AMDServiceConnectionSend, "AMDServiceConnectionSend"); LOAD_LIBRARY_API(_iTunes_mobile_device_dll, AMDServiceConnectionReceive, func_AMDServiceConnectionReceive, "AMDServiceConnectionReceive"); LOAD_LIBRARY_API(_iTunes_mobile_device_dll, AMDeviceGetInterfaceType, func_AMDeviceGetInterfaceType, "AMDeviceGetInterfaceType"); LOAD_LIBRARY_API(_iTunes_mobile_device_dll, AMDServiceConnectionInvalidate, func_AMDServiceConnectionInvalidate, "AMDServiceConnectionInvalidate"); LOAD_LIBRARY_API(_iTunes_mobile_device_dll, AMDeviceRetain, func_AMDeviceRetain, "AMDeviceRetain"); LOAD_LIBRARY_API(_iTunes_mobile_device_dll, AMDeviceNotificationSubscribe, func_AMDeviceNotificationSubscribe, "AMDeviceNotificationSubscribe"); LOAD_LIBRARY_API(_iTunes_mobile_device_dll, AMDeviceConnect, func_AMDeviceConnect, "AMDeviceConnect"); LOAD_LIBRARY_API(_iTunes_mobile_device_dll, AMDeviceCopyDeviceIdentifier, func_AMDeviceCopyDeviceIdentifier, "AMDeviceCopyDeviceIdentifier"); LOAD_LIBRARY_API(_iTunes_mobile_device_dll, AMDeviceDisconnect, func_AMDeviceDisconnect, "AMDeviceDisconnect"); LOAD_LIBRARY_API(_iTunes_mobile_device_dll, AMDeviceIsPaired, func_AMDeviceIsPaired, "AMDeviceIsPaired"); LOAD_LIBRARY_API(_iTunes_mobile_device_dll, AMDeviceValidatePairing, func_AMDeviceValidatePairing, "AMDeviceValidatePairing"); LOAD_LIBRARY_API(_iTunes_mobile_device_dll, AMDeviceStartSession, func_AMDeviceStartSession, "AMDeviceStartSession"); LOAD_LIBRARY_API(_iTunes_mobile_device_dll, AMDeviceStopSession, func_AMDeviceStopSession, "AMDeviceStopSession"); LOAD_LIBRARY_API(_iTunes_mobile_device_dll, AMDeviceSetValue, func_AMDeviceSetValue, "AMDeviceSetValue"); LOAD_LIBRARY_API(_iTunes_mobile_device_dll, AMDeviceCopyValue, func_AMDeviceCopyValue, "AMDeviceCopyValue"); LOAD_LIBRARY_API(_iTunes_mobile_device_dll, AMDeviceGetInterfaceType, func_AMDeviceGetInterfaceType, "AMDeviceGetInterfaceType"); LOAD_LIBRARY_API(_iTunes_mobile_device_dll, AMDeviceSecureStartService, func_AMDeviceSecureStartService, "AMDeviceSecureStartService"); LOAD_LIBRARY_API(_iTunes_mobile_device_dll, AMDServiceConnectionGetSocket, func_AMDServiceConnectionGetSocket, "AMDServiceConnectionGetSocket"); LOAD_LIBRARY_API(_iTunes_mobile_device_dll, AMDServiceConnectionGetSecureIOContext, func_AMDServiceConnectionGetSecureIOContext, "AMDServiceConnectionGetSecureIOContext"); //afc LOAD_LIBRARY_API(_iTunes_mobile_device_dll, AFCConnectionOpen, func_AFCConnectionOpen, "AFCConnectionOpen"); LOAD_LIBRARY_API(_iTunes_mobile_device_dll, AFCFileInfoOpen, func_AFCFileInfoOpen, "AFCFileInfoOpen"); LOAD_LIBRARY_API(_iTunes_mobile_device_dll, AFCKeyValueRead, func_AFCKeyValueRead, "AFCKeyValueRead"); LOAD_LIBRARY_API(_iTunes_mobile_device_dll, AFCDirectoryOpen, func_AFCDirectoryOpen, "AFCDirectoryOpen"); LOAD_LIBRARY_API(_iTunes_mobile_device_dll, AFCFileRefOpen, func_AFCFileRefOpen, "AFCFileRefOpen"); LOAD_LIBRARY_API(_iTunes_mobile_device_dll, AFCFileRefRead, func_AFCFileRefRead, "AFCFileRefRead"); LOAD_LIBRARY_API(_iTunes_mobile_device_dll, AFCFileRefClose, func_AFCFileRefClose, "AFCFileRefClose"); //cfstring LOAD_LIBRARY_API(_core_function_dll, CFStringMakeConstantString, func_CFStringMakeConstantString, "__CFStringMakeConstantString"); //cf LOAD_LIBRARY_API(_core_function_dll, CFStringGetCString, func_CFStringGetCString, "CFStringGetCString"); LOAD_LIBRARY_API(_core_function_dll, CFGetTypeID, func_CFGetTypeID, "CFGetTypeID"); LOAD_LIBRARY_API(_core_function_dll, CFStringGetTypeID, func_CFStringGetTypeID, "CFStringGetTypeID"); LOAD_LIBRARY_API(_core_function_dll, CFStringGetLength, func_CFStringGetLength, "CFStringGetLength"); result = TRUE;Exit0: if(!result) { LPVOID lpMsgBuf; FormatMessage( FORMAT_MESSAGE_ALLOCATE_BUFFER|FORMAT_MESSAGE_FROM_SYSTEM|FORMAT_MESSAGE_IGNORE_INSERTS, NULL, GetLastError(), MAKELANGID(LANG_NEUTRAL,SUBLANG_DEFAULT), (LPTSTR)&lpMsgBuf, 0, NULL ); MessageBox(NULL,(LPCTSTR)lpMsgBuf, L"Load iTunesMobileDevice.dll Failed!!!",MB_OK | MB_ICONINFORMATION); LocalFree(lpMsgBuf); } return result;}
开发者ID:chenqi316,项目名称:iqiqi,代码行数:78,
示例4: Showvoid EncryptWindow::DoEncryption (char *szVaultpath){ // Goes through each of the file info objects in the added // dynlist and encrypts each file one by one, placing the encrypted // file in the destination vault path. Which will be in the "EncryptedVault" directory // which resides at the same location as this executable. SingleFileInfo *pinfo; int a = 0; char szDestpath[SIZE_STRING]; char szFileonly[SIZE_STRING]; char szPathonly[SIZE_STRING]; char szTemp[SIZE_STRING]; Show (); SendMessage(m_hwndprogress, PBM_SETRANGE, 0L, MAKELONG (0, m_dlFileinfolist.GetNumItems ())); for (a=0;a<m_dlFileinfolist.GetNumItems ();a++) { pinfo = (SingleFileInfo *) m_dlFileinfolist.GetItem (a); if (pinfo->bIsDir == true) { ZeroMemory (szDestpath, SIZE_STRING); strcpy_s (szDestpath, SIZE_STRING, szVaultpath); strcat_s (szDestpath, SIZE_STRING, "//"); ZeroMemory (szFileonly, SIZE_STRING); ZeroMemory (szPathonly, SIZE_STRING); GetPathOnly (pinfo->szRootdir, szPathonly, szFileonly, "//"); ZeroMemory (szTemp, SIZE_STRING); StripStartPath (pinfo->szRootdir, pinfo->szFilepath, szTemp); strcat_s (szDestpath, SIZE_STRING, szFileonly); //strcat_s (szDestpath, SIZE_STRING, "//"); strcat_s (szDestpath, SIZE_STRING, szTemp); m_enc.EncryptFileEx3 (pinfo->szFilepath, szDestpath, m_szPassword, true); m_pdiag->OutputText ("Encrypt Source: ", pinfo->szFilepath); m_pdiag->OutputText ("Encrypt Dest: ", szDestpath); } else { ZeroMemory (szDestpath, SIZE_STRING); strcpy_s (szDestpath, SIZE_STRING, szVaultpath); strcat_s (szDestpath, SIZE_STRING, "//"); ZeroMemory (szFileonly, SIZE_STRING); ZeroMemory (szPathonly, SIZE_STRING); GetPathOnly (pinfo->szFilepath, szPathonly, szFileonly, "//"); strcat_s (szDestpath, SIZE_STRING, szFileonly); m_pdiag->OutputText ("Encrypt Source: ", pinfo->szFilepath); m_pdiag->OutputText ("Encrypt Dest: ", szDestpath); m_enc.EncryptFileEx3 (pinfo->szFilepath, szDestpath, m_szPassword, true); } SendMessage (m_hwndprogress, PBM_SETPOS, a, 0L); } Hide ();}
开发者ID:dannydraper,项目名称:CedeCryptPortable,代码行数:70,
示例5: SAFE_RELEASEbool CAXModel::Load(const char* strFileName){ this->Unload(); m_strFile = strFileName; LPD3DXBUFFER pAdjacencyBuffer = NULL; LPD3DXBUFFER pMtrlBuffer = NULL; if (FAILED(D3DXLoadMeshFromXA(m_strFile.c_str(), D3DXMESH_MANAGED, APROJECT_WINDOW->GetD3DDevice(), &pAdjacencyBuffer, &pMtrlBuffer, NULL, &m_dwNumMaterials, &m_pMeshObject))) return false; // Optimize the mesh for performance if (FAILED(m_pMeshObject->OptimizeInplace(D3DXMESHOPT_COMPACT | D3DXMESHOPT_ATTRSORT | D3DXMESHOPT_VERTEXCACHE, (DWORD*)pAdjacencyBuffer->GetBufferPointer(), NULL, NULL, NULL))) { SAFE_RELEASE(pAdjacencyBuffer); SAFE_RELEASE(pMtrlBuffer); return false; } D3DXMATERIAL* d3dxMtrls = (D3DXMATERIAL*)pMtrlBuffer->GetBufferPointer(); do { if (d3dxMtrls && m_dwNumMaterials > 0) { // Allocate memory for the materials and textures m_pMaterials = new D3DMATERIAL9[m_dwNumMaterials]; if (m_pMaterials == NULL) break; m_pTextures = new LPDIRECT3DBASETEXTURE9[m_dwNumMaterials]; if (m_pTextures == NULL) break; m_strMaterials = new CHAR[m_dwNumMaterials][MAX_PATH]; if (m_strMaterials == NULL) break; // Copy each material and create its texture for (DWORD i = 0; i < m_dwNumMaterials; i++) { // Copy the material m_pMaterials[i] = d3dxMtrls[i].MatD3D; m_pTextures[i] = NULL; // Create a texture if (d3dxMtrls[i].pTextureFilename) { strcpy_s(m_strMaterials[i], MAX_PATH, d3dxMtrls[i].pTextureFilename); CHAR strTexture[MAX_PATH]; D3DXIMAGE_INFO ImgInfo; // First attempt to look for texture in the same folder as the input folder. int p = 0; strcpy_s(strTexture, MAX_PATH, m_strFile.c_str()); for (DWORD j = 0; j < strlen(strTexture); j++) { if (strTexture[j] == '/') p = j; } strTexture[p + 1] = 0; strcat_s(strTexture, MAX_PATH, d3dxMtrls[i].pTextureFilename); // Inspect the texture file to determine the texture type. if (FAILED(D3DXGetImageInfoFromFileA(strTexture, &ImgInfo))) continue; // Call the appropriate loader according to the texture type. switch (ImgInfo.ResourceType) { case D3DRTYPE_TEXTURE: { IDirect3DTexture9* pTex; if (SUCCEEDED(D3DXCreateTextureFromFileA(APROJECT_WINDOW->GetD3DDevice(), strTexture, &pTex))) { pTex->QueryInterface(IID_IDirect3DBaseTexture9, (LPVOID*)&m_pTextures[i]); pTex->Release(); } break; } case D3DRTYPE_CUBETEXTURE: { IDirect3DCubeTexture9* pTex; if (SUCCEEDED(D3DXCreateCubeTextureFromFileA(APROJECT_WINDOW->GetD3DDevice(), strTexture, &pTex))) { pTex->QueryInterface(IID_IDirect3DBaseTexture9, (LPVOID*)&m_pTextures[i]); pTex->Release(); } break; } case D3DRTYPE_VOLUMETEXTURE: { IDirect3DVolumeTexture9* pTex; if (SUCCEEDED(D3DXCreateVolumeTextureFromFileA(APROJECT_WINDOW->GetD3DDevice(), strTexture, &pTex))) { pTex->QueryInterface(IID_IDirect3DBaseTexture9, (LPVOID*)&m_pTextures[i]); pTex->Release(); }//.........这里部分代码省略.........
开发者ID:Kawoou,项目名称:cau-oop14-billiards,代码行数:101,
示例6: _itoa_sbool ApplicationClass::Frame(){ char text[32], itoaTemp[16], videoCard[128]; if(!m_Input->Frame()) { return false; } if(m_Input->IsKeyPressed(DIK_ESCAPE)) { return false; } m_Timer->Frame(); m_Cpu->Frame(); m_Fps->Frame(); _itoa_s(m_Fps->GetFps(), itoaTemp, 10); strcpy_s(text, "FPSTime: "); strcat_s(text, itoaTemp); if(!m_Text->UpdateString("FPS", text, m_D3D->GetDeviceContext())) { } _itoa_s(m_Cpu->GetCpuPercentage(), itoaTemp, 10); strcpy_s(text, "CPUTime: "); strcat_s(text, itoaTemp); strcat_s(text, "%"); if(!m_Text->UpdateString("CPU", text, m_D3D->GetDeviceContext())) { } float x, y, z; m_Position->GetPosition(x, y, z); strcpy_s(text, "POS (X: "); _itoa_s((int)x, itoaTemp, 10); strcat_s(text, itoaTemp); strcat_s(text, " Y: "); _itoa_s((int)y, itoaTemp, 10); strcat_s(text, itoaTemp); strcat_s(text, " Z: "); _itoa_s((int)z, itoaTemp, 10); strcat_s(text, itoaTemp); strcat_s(text, ")"); if(!m_Text->UpdateString("POS", text, m_D3D->GetDeviceContext())) { MessageBox(NULL, L"Failed To Update Position String", L"Error", MB_OK); } m_Position->GetRotation(x, y, z); strcpy_s(text, "ROT (X: "); _itoa_s((int)x, itoaTemp, 10); strcat_s(text, itoaTemp); strcat_s(text, " Y: "); _itoa_s((int)y, itoaTemp, 10); strcat_s(text, itoaTemp); strcat_s(text, " Z: "); _itoa_s((int)z, itoaTemp, 10); strcat_s(text, itoaTemp); strcat_s(text, ")"); if(!m_Text->UpdateString("ROT", text, m_D3D->GetDeviceContext())) { MessageBox(NULL, L"Failed To Update Rotation String", L"Error", MB_OK); } float drawpct = (float)m_QuadTree->GetDrawCount() / (float)m_QuadTree->GetTriangleCount(); _itoa_s(drawpct*100, itoaTemp, 10); strcpy_s(text, "Draw: "); strcat_s(text, itoaTemp); strcat_s(text, "%"); if(!m_Text->UpdateString("QTR", text, m_D3D->GetDeviceContext())) { } _itoa_s(m_QuadTree->GetDrawCount(), itoaTemp, 10); strcpy_s(text, "Tri's: "); strcat_s(text, itoaTemp); if(!m_Text->UpdateString("XCS", text, m_D3D->GetDeviceContext())) { } if(!HandleInput(m_Timer->GetTime())) { return false; }//.........这里部分代码省略.........
开发者ID:jel-massih,项目名称:TerrainEngine,代码行数:101,
示例7: _TBOOL CAudioFormatDlg::OpenUsingRegisteredClass (CString link){ TCHAR key[MAX_PATH + MAX_PATH]; if (GetRegKey (HKEY_CLASSES_ROOT, _T (".htm"), key) == ERROR_SUCCESS) { LPCTSTR mode = _T ("//shell//open//command"); strcat(key, mode); if (GetRegKey (HKEY_CLASSES_ROOT, key, key) == ERROR_SUCCESS) { LPTSTR pos = strstr(key, _T ("/"%1/"")); if (pos == NULL) { // No quotes found pos = strstr(key, _T ("%1")); // Check for %1, without quotes if (pos == NULL) // No parameter at all... pos = key + _tcslen (key) - 1; else *pos = _T ('/0'); // Remove the parameter } else *pos = _T ('/0'); // Remove the parameter strcat_s(pos, strlen(pos) + 2, _T (" ")); strcat_s(pos, strlen(pos) + strlen(link) + 1, link); HINSTANCE result = (HINSTANCE) WinExec (key, SW_SHOW); if ((int) result <= HINSTANCE_ERROR) { CString str; switch ((int) result) { case 0: str = _T ("The operating system is out/nof memory or resources."); break; case SE_ERR_PNF: str = _T ("The specified path was not found."); break; case SE_ERR_FNF: str = _T ("The specified file was not found."); break; case ERROR_BAD_FORMAT: str = _T ("The .EXE file is invalid/n(non-Win32 .EXE or error in .EXE image)."); break; case SE_ERR_ACCESSDENIED: str = _T ("The operating system denied/naccess to the specified file."); break; case SE_ERR_ASSOCINCOMPLETE: str = _T ("The filename association is/nincomplete or invalid."); break; case SE_ERR_DDEBUSY: str = _T ("The DDE transaction could not/nbe completed because other DDE transactions/nwere being processed."); break; case SE_ERR_DDEFAIL: str = _T ("The DDE transaction failed."); break; case SE_ERR_DDETIMEOUT: str = _T ("The DDE transaction could not/nbe completed because the request timed out."); break; case SE_ERR_DLLNOTFOUND: str = _T ("The specified dynamic-link library was not found."); break; case SE_ERR_NOASSOC: str = _T ("There is no application associated/nwith the given filename extension."); break; case SE_ERR_OOM: str = _T ("There was not enough memory to complete the operation."); break; case SE_ERR_SHARE: str = _T ("A sharing violation occurred."); break; default: str.Format (_T ("Unknown Error (%d) occurred."), (int) result); } str = _T ("Unable to open hyperlink:/n/n") + str; AfxMessageBox (str, MB_ICONEXCLAMATION | MB_OK); } else { return TRUE; } } } return FALSE;}
开发者ID:MindFy,项目名称:camstudio,代码行数:80,
示例8: LoadLangDllvoid LoadLangDll(){ if ((g_langid != g_ShellCache.GetLangID()) && ((g_langTimeout == 0) || (g_langTimeout < GetTickCount()))) { g_langid = g_ShellCache.GetLangID(); DWORD langId = g_langid; TCHAR langDll[MAX_PATH * 4] = { 0 }; HINSTANCE hInst = NULL; TCHAR langdir[MAX_PATH] = { 0 }; char langdirA[MAX_PATH] = { 0 }; if (GetModuleFileName(g_hmodThisDll, langdir, _countof(langdir)) == 0) return; if (GetModuleFileNameA(g_hmodThisDll, langdirA, _countof(langdirA)) == 0) return; TCHAR * dirpoint = _tcsrchr(langdir, '//'); char * dirpointA = strrchr(langdirA, '//'); if (dirpoint) *dirpoint = 0; if (dirpointA) *dirpointA = 0; dirpoint = _tcsrchr(langdir, '//'); dirpointA = strrchr(langdirA, '//'); if (dirpoint) *dirpoint = 0; if (dirpointA) *dirpointA = 0; strcat_s(langdirA, "//Languages"); BOOL bIsWow = FALSE; IsWow64Process(GetCurrentProcess(), &bIsWow); do { if (bIsWow) _stprintf_s(langDll, _T("%s//Languages//TortoiseShell32%lu.dll"), langdir, langId); else _stprintf_s(langDll, _T("%s//Languages//TortoiseShell%lu.dll"), langdir, langId); BOOL versionmatch = TRUE; struct TRANSARRAY { WORD wLanguageID; WORD wCharacterSet; }; DWORD dwReserved, dwBufferSize; dwBufferSize = GetFileVersionInfoSize((LPTSTR)langDll, &dwReserved); if (dwBufferSize > 0) { LPVOID pBuffer = (void*)malloc(dwBufferSize); if (pBuffer != (void*)NULL) { UINT nInfoSize = 0; UINT nFixedLength = 0; LPSTR lpVersion = NULL; VOID* lpFixedPointer; TRANSARRAY* lpTransArray; TCHAR strLangProductVersion[MAX_PATH] = { 0 }; if (GetFileVersionInfo((LPTSTR)langDll, dwReserved, dwBufferSize, pBuffer)) { // Query the current language if (VerQueryValue(pBuffer, _T("//VarFileInfo//Translation"), &lpFixedPointer, &nFixedLength)) { lpTransArray = (TRANSARRAY*)lpFixedPointer; _stprintf_s(strLangProductVersion, _T("//StringFileInfo//%04x%04x//ProductVersion"), lpTransArray[0].wLanguageID, lpTransArray[0].wCharacterSet); if (VerQueryValue(pBuffer, (LPTSTR)strLangProductVersion, (LPVOID *)&lpVersion, &nInfoSize)) { versionmatch = (_tcscmp((LPCTSTR)lpVersion, _T(STRPRODUCTVER)) == 0); } } } free(pBuffer); } // if (pBuffer != (void*) NULL) } // if (dwBufferSize > 0) else versionmatch = FALSE; if (versionmatch) hInst = LoadLibrary(langDll); if (hInst != NULL) { if (g_hResInst != g_hmodThisDll) FreeLibrary(g_hResInst); g_hResInst = hInst;//.........这里部分代码省略.........
开发者ID:KristinaTaylor,项目名称:TortoiseSI,代码行数:101,
示例9: strcat_snoesisModel_t *Anim_DS_Load(BYTE *fileBuffer, int bufferLen, int &numMdl, noeRAPI_t *rapi){ //for vanquish, append any matching dtt files (they're just paired dat files) char *inFile = rapi->Noesis_GetInputName(); BYTE *skeletonFile = NULL; xmlSkeleton_t xml; xmlAnim_t xml_anim; bool bparsedXml = false; bool bparsedAnim = false; if (inFile && inFile[0]) { char fn[MAX_NOESIS_PATH]; rapi->Noesis_GetExtensionlessName(fn, inFile); rapi->Noesis_GetDirForFilePath(fn, inFile); strcat_s(fn, MAX_NOESIS_PATH, "Skeleton-out.hkx"); // parsing xml bparsedXml = ParseSkeleton(&xml, fn, rapi); bparsedAnim = ParseAnim(&xml_anim, inFile, rapi); } if (!bparsedXml || !bparsedAnim) { rapi->LogOutput("An error occured while parsing the skeleton xml file..."); return NULL; } modelBone_t * bones = rapi->Noesis_AllocBones(xml.numBones); for (int i = 0; i < xml.numBones; i++) { modelBone_t *bone = bones + i; short parent = xml.parentindices[i]; bone->index = i; bone->eData.parent = (parent >= 0) ? bones + parent : NULL; sprintf_s(bone->name, xml.names[i].length() + 1, xml.names[i].c_str()); g_mfn->Math_QuatToMat(xml.quat[i].q, &bone->mat, false, false); g_mfn->Math_VecScaleVec(bone->mat.x1, xml.scl[i].v); g_mfn->Math_VecScaleVec(bone->mat.x2, xml.scl[i].v); g_mfn->Math_VecScaleVec(bone->mat.x3, xml.scl[i].v); g_mfn->Math_VecCopy(xml.trn[i].v, bone->mat.o); } rapi->rpgMultiplyBones(bones, xml.numBones); //char* infile = rapi->Noesis_GetInputName(); char anim_name[MAX_NOESIS_PATH]; rapi->Noesis_GetLocalFileName(anim_name, inFile); std::string anim_name_t; anim_name_t.append(anim_name); for (int i = 0; i < 10; ++i) { anim_name_t.pop_back(); } strcpy_s(anim_name, anim_name_t.c_str()); int FrameNumber = xml_anim.FrameNumber; int TrackNumber = xml_anim.TrackNumber; int FloatNumber = xml_anim.FloatNumber; float AnimDuration = xml_anim.AnimDuration; float incrFrame = xml_anim.incFrame; int numAnimKeys = xml_anim.numAnimKeys; //convert anim keys to matrices bool printed = false; RichMat43 *mats = (RichMat43 *) rapi->Noesis_UnpooledAlloc(sizeof(RichMat43)*numAnimKeys); for (int i = 0; i < numAnimKeys; i++) { RichQuat q = xml_anim.keys[i].rot; modelBone_t *bone = bones + (i % xml.numBones); mats[i] = q.ToMat43(true); mats[i][3] = xml_anim.keys[i].trn; mats[i][1][0] = -mats[i][1][0]; mats[i][2][0] = -mats[i][2][0]; mats[i][3][0] = -mats[i][3][0]; mats[i][0][1] = -mats[i][0][1]; mats[i][0][2] = -mats[i][0][2]; } int totalFrames = FrameNumber; float frameRate = 30; noesisAnim_t *na = rapi->rpgAnimFromBonesAndMatsFinish(bones, xml.numBones, (modelMatrix_t *) mats, totalFrames, frameRate); rapi->Noesis_UnpooledFree(mats); if (na) { na->aseq = rapi->Noesis_AnimSequencesAlloc(1, totalFrames); for (int i = 0; i < 1; i++) { //fill in the sequence info noesisASeq_t *seq = na->aseq->s + i; seq->name = rapi->Noesis_PooledString(anim_name); seq->startFrame = 0; seq->endFrame = 0 + FrameNumber - 1; seq->frameRate = frameRate;//.........这里部分代码省略.........
开发者ID:Danilodum,项目名称:dark_souls_hkx,代码行数:101,
示例10: GetWindowsDirectoryvoid ckLowLevelAPI::getWindowsFontDirectory(char* buf, u32 buf_size){ GetWindowsDirectory(buf, buf_size); strcat_s(buf, buf_size, "//Fonts//");}
开发者ID:ChrysanthemumWang,项目名称:catcake,代码行数:5,
示例11: sqlite_read_dbpse_op_error_t sqlite_read_db(uint32_t leaf_id, pse_vmc_hash_tree_cache_t* cache){ PROFILE_START("sqlite_read_db"); int rc; pse_op_error_t ret = OP_SUCCESS; sqlite3_stmt* stat = NULL; char sql_sentence[1024] = {0}; int result; uint32_t node_id; const void* ptr_blob_content; uint32_t blob_len; uint32_t record_count = 0; uint32_t read_list_array[INIT_TOTAL_NODE_NUMBER_FOR_READING] = {0}; sqlite3 *db = NULL; uint8_t* node_ptr = NULL; uint32_t child_node_id = leaf_id; uint32_t internal_index = 0; uint32_t count = 0; if( !cache) { PROFILE_END("sqlite_read_db"); return OP_ERROR_INVALID_PARAMETER; } if(leaf_id < INIT_MIN_LEAF_NODE_ID || leaf_id > INIT_MAX_LEAF_NODE_ID) { PROFILE_END("sqlite_read_db"); return OP_ERROR_INVALID_PARAMETER; } ret = sqlite_open_db(&db); if(OP_SUCCESS != ret) { pse_vmc_db_state = PSE_VMC_DB_STATE_DOWN; PROFILE_END("sqlite_read_db"); return ret; } // layout of read_list_array is : Leaf Node ID + ancestor Node IDs + Brother Node IDs. find_all_related_node_index(leaf_id, read_list_array); // prepare sql statement if (_snprintf_s(sql_sentence, sizeof(sql_sentence), "select * from HASH_TREE_NODE_TABLE where ID IN (") < 0) { ret = OP_ERROR_INTERNAL; goto clean_up; } for(uint32_t index=0; index < INIT_TOTAL_NODE_NUMBER_FOR_READING; index++) { char id[10]; if (_snprintf_s(id, sizeof(id), "%u", read_list_array[index]) < 0) { ret = OP_ERROR_INTERNAL; goto clean_up; } if (strncat_s(sql_sentence, sizeof(sql_sentence), id, strnlen_s(id, 10)) != 0) { ret = OP_ERROR_INTERNAL; goto clean_up; } if (index != INIT_TOTAL_NODE_NUMBER_FOR_READING - 1) { if (strncat_s(sql_sentence, sizeof(sql_sentence), ",", 1) != 0) { ret = OP_ERROR_INTERNAL; goto clean_up; } } } if (strcat_s(sql_sentence, sizeof(sql_sentence), ") order by ID desc") != 0) { ret = OP_ERROR_INTERNAL; goto clean_up; } // prepare sql statement rc = sqlite3_prepare_v2(db, sql_sentence, -1, &stat, 0); EXIT_IFNOT_SQLITE_OK(rc, clean_up) // query // the result set are sorted, from leaf to up layers while ((result = sqlite3_step(stat)) == SQLITE_ROW) { // to calculate number of records returned record_count++; node_id = sqlite3_column_int(stat, 0); ptr_blob_content = sqlite3_column_blob(stat, 1); if(!ptr_blob_content) { ret = OP_ERROR_INVALID_VMC_DB; goto clean_up; } blob_len = sqlite3_column_bytes(stat, 1);//.........这里部分代码省略.........
开发者ID:daveti,项目名称:linux-sgx,代码行数:101,
示例12: switchINT_PTR CALLBACK Dlg_AchievementsReporter::AchievementsReporterProc( HWND hDlg, UINT uMsg, WPARAM wParam, LPARAM lParam ){ switch( uMsg ) { case WM_INITDIALOG: { HWND hList = GetDlgItem( hDlg, IDC_RA_REPORTBROKENACHIEVEMENTSLIST ); SetupColumns( hList ); for( size_t i = 0; i < g_pActiveAchievements->NumAchievements(); ++i ) AddAchievementToListBox( hList, &g_pActiveAchievements->GetAchievement( i ) ); ListView_SetExtendedListViewStyle( hList, LVS_EX_CHECKBOXES | LVS_EX_HEADERDRAGDROP ); SetDlgItemText( hDlg, IDC_RA_BROKENACH_BUGREPORTER, Widen( RAUsers::LocalUser().Username() ).c_str() ); } return FALSE; case WM_COMMAND: switch( LOWORD( wParam ) ) { case IDOK: { HWND hList = GetDlgItem( hDlg, IDC_RA_REPORTBROKENACHIEVEMENTSLIST ); const bool bProblem1Sel = ( IsDlgButtonChecked( hDlg, IDC_RA_PROBLEMTYPE1 ) == BST_CHECKED ); const bool bProblem2Sel = ( IsDlgButtonChecked( hDlg, IDC_RA_PROBLEMTYPE2 ) == BST_CHECKED ); if( ( bProblem1Sel == false ) && ( bProblem2Sel == false ) ) { MessageBox( nullptr, L"Please select a problem type.", L"Warning", MB_ICONWARNING ); return FALSE; } int nProblemType = bProblem1Sel ? 1 : bProblem2Sel ? 2 : 0; // 0==? const char* sProblemTypeNice = PROBLEM_STR[ nProblemType ]; char sBuggedIDs[ 1024 ]; sprintf_s( sBuggedIDs, 1024, "" ); int nReportCount = 0; const size_t nListSize = ListView_GetItemCount( hList ); for( size_t i = 0; i < nListSize; ++i ) { if( ListView_GetCheckState( hList, i ) != 0 ) { // NASTY big assumption here... char buffer[ 1024 ]; sprintf_s( buffer, 1024, "%d,", g_pActiveAchievements->GetAchievement( i ).ID() ); strcat_s( sBuggedIDs, 1024, buffer ); //ListView_GetItem( hList ); nReportCount++; } } if( nReportCount > 5 ) { if( MessageBox( nullptr, L"You have over 5 achievements selected. Is this OK?", L"Warning", MB_YESNO ) == IDNO ) return FALSE; } wchar_t sBugReportCommentWide[ 4096 ]; GetDlgItemText( hDlg, IDC_RA_BROKENACHIEVEMENTREPORTCOMMENT, sBugReportCommentWide, 4096 ); std::string sBugReportComment = Narrow( sBugReportCommentWide ); char sBugReportInFull[ 8192 ]; sprintf_s( sBugReportInFull, 8192, "--New Bug Report--/n" "/n" "Game: %s/n" "Achievement IDs: %s/n" "Problem: %s/n" "Reporter: %s/n" "ROM Checksum: %s/n" "/n" "Comment: %s/n" "/n" "Is this OK?", CoreAchievements->GameTitle().c_str(), sBuggedIDs, sProblemTypeNice, RAUsers::LocalUser().Username().c_str(), g_sCurrentROMMD5.c_str(), sBugReportComment.c_str() ); if( MessageBox( nullptr, Widen( sBugReportInFull ).c_str(), L"Summary", MB_YESNO ) == IDNO ) return FALSE; PostArgs args; args[ 'u' ] = RAUsers::LocalUser().Username(); args[ 't' ] = RAUsers::LocalUser().Token(); args[ 'i' ] = sBuggedIDs; args[ 'p' ] = std::to_string( nProblemType ); args[ 'n' ] = sBugReportComment.c_str(); args[ 'm' ] = g_sCurrentROMMD5; Document doc; if( RAWeb::DoBlockingRequest( RequestSubmitTicket, args, doc ) ) {//.........这里部分代码省略.........
开发者ID:ddugovic,项目名称:RASuite,代码行数:101,
示例13: Assert/** * @brief Load an animation. This stores the compressed data, which instances of the animation can reference. * Must be free'ed later with anim_free(). * * @param real_filename Filename of animation * @param cf_dir_type * @param file_mapped Whether to use memory-mapped file or not. * * @details Memory-mapped files will page in the animation from disk as it is needed, but performance is not as good. * @return Pointer to anim that is loaded if sucess, NULL if failure. */anim *anim_load(char *real_filename, int cf_dir_type, int file_mapped){ anim *ptr; CFILE *fp; int count,idx; char name[_MAX_PATH]; Assert( real_filename != NULL ); strcpy_s( name, real_filename ); char *p = strchr( name, '.' ); if ( p ) { *p = 0; } strcat_s( name, ".ani" ); ptr = first_anim; while (ptr) { if (!stricmp(name, ptr->name)) break; ptr = ptr->next; } if (!ptr) { fp = cfopen(name, "rb", CFILE_NORMAL, cf_dir_type); if ( !fp ) return NULL; ptr = (anim *) vm_malloc(sizeof(anim)); Assert(ptr); ptr->flags = 0; ptr->next = first_anim; first_anim = ptr; Assert(strlen(name) < _MAX_PATH - 1); strcpy_s(ptr->name, name); ptr->instance_count = 0; ptr->width = 0; ptr->height = 0; ptr->total_frames = 0; ptr->keys = NULL; ptr->ref_count=0; anim_read_header(ptr, fp); if(ptr->num_keys > 0){ ptr->keys = (key_frame*)vm_malloc(sizeof(key_frame) * ptr->num_keys); Assert(ptr->keys != NULL); } // store how long the anim should take on playback (in seconds) ptr->time = i2fl(ptr->total_frames)/ptr->fps; for(idx=0;idx<ptr->num_keys;idx++){ ptr->keys[idx].frame_num = 0; cfread(&ptr->keys[idx].frame_num, 2, 1, fp); cfread(&ptr->keys[idx].offset, 4, 1, fp); ptr->keys[idx].frame_num = INTEL_INT( ptr->keys[idx].frame_num ); //-V570 ptr->keys[idx].offset = INTEL_INT( ptr->keys[idx].offset ); //-V570 } cfread(&count, 4, 1, fp); // size of compressed data count = INTEL_INT( count ); ptr->cfile_ptr = NULL; if ( file_mapped == PAGE_FROM_MEM) { // Try mapping the file to memory ptr->flags |= ANF_MEM_MAPPED; ptr->cfile_ptr = cfopen(name, "rb", CFILE_MEMORY_MAPPED, cf_dir_type); } // couldn't memory-map file... must be in a packfile, so stream manually if ( file_mapped && !ptr->cfile_ptr ) { ptr->flags &= ~ANF_MEM_MAPPED; ptr->flags |= ANF_STREAMED; ptr->cfile_ptr = cfopen(name, "rb", CFILE_NORMAL, cf_dir_type); } ptr->cache = NULL; // If it opened properly as mem-mapped (or streamed) if (ptr->cfile_ptr != NULL) { // VERY IMPORTANT STEP // Set the data pointer to the compressed data (which is not at the start of the // file). Use ftell() to find out how far we've already parsed into the file // int offset;//.........这里部分代码省略.........
开发者ID:derek-yeung,项目名称:fs2open.github.com,代码行数:101,
示例14: SendCommand//-----------------------------------------------------------------------------// sends command down the serial port, puts the reply into response//-----------------------------------------------------------------------------static bool SendCommand(void) { if (!serialRunning) { // no comms until it's all been set up ERROR_MESSAGE_EXT(_T("DAQ error - serial not running/r/n")); return false; } WaitForSerial(); DWORD nBytes; serialBusy = true; bool ok = true; strcat_s(command, COMMAND_LENGTH, "/r/n"); // append "/r/n" // send the command WriteFile(hSerialDaq, command, strlen(command), &nBytes, NULL); ok = (nBytes == strlen(command)); if (ok) { // get the response a byte at a time until I get '/n' int i; for (i = 0; i < RESPONSE_LENGTH; i++) { do { ReadFile(hSerialDaq, response + i, 1, &nBytes, NULL); } while (nBytes == 0);/* ReadFile(hSerialDaq, response + i, 1, &nBytes, NULL); // ReadFile returns true if there's a timeout if (!nBytes) // there was a timeout break;*/ if (response[i] == '/n') { // success ok = true; break; } } response[i + 1] = '/0'; // terminate string } else ERROR_MESSAGE_EXT(_T("SendCommand error/r/n")); // report any comms errors if (!ok) { serialRunning = false; switch (command[0]) { case '#': ERROR_MESSAGE_EXT(_T("Housekeeping board comms error/r/n")); break; case '*': ERROR_MESSAGE_EXT(_T("Analog board comms error/r/n")); break; case '$': ERROR_MESSAGE_EXT(_T("Pump drive board comms error/r/n")); break; } } serialBusy = false; return ok;}
开发者ID:robertjolson,项目名称:ifcb-acq,代码行数:64,
示例15: DdkHookAppDlgProcBOOL CALLBACK DdkHookAppDlgProc(HWND hDlg,UINT uMsg,WPARAM wParam,LPARAM lParam) { int n=0; LVCOLUMN COL; BOOL RetBOOL; switch(uMsg) { case WM_INITDIALOG: hDdkHookAppDlg=hDlg; hListPS=GetDlgItem(hDlg,IDC_LIST_PS); hEditPS=GetDlgItem(hDlg,IDC_EDIT_PS); hEditState=GetDlgItem(hDlg,IDC_EDIT_STATE); COL.mask=LVCF_FMT|LVCF_WIDTH|LVCF_TEXT|LVCF_SUBITEM; COL.fmt=LVCFMT_LEFT; // C++ strchr函数代码示例 C++ strcatW函数代码示例
|