共用方式為


SecureCRT 範例:將被取代的 CRT 函式轉換成其 _s 對應函式

更新:2007 年 11 月

本範例會示範如何將基於安全性考量而被取代的 CRT 函式,轉換為其 _s 對應函式。範例涵蓋下列函式的轉換:strcpystrncpyfopen_splitpathsprintfgetenvstrcat_creatitoa。同時還會示範另一個 Secure CRT _set_invalid_parameter_handler 的用法。

這個範例使用標準 CRT 函式,實作 Boyer-Moore 字串相對應演算法。

安全性注意事項:

這個程式碼範例僅供概念說明之用,同時因為範例中的程式碼撰寫並沒有周全的顧及所有安全性問題,所以本範例不適用於實際執行的應用程式或網站中。如果使用者擅自將範例程式碼用於其他意圖而導致連帶事件或重大損害時,Microsoft 將不承擔任何責任。

若要取得範例和指示以便進行安裝:

  • 按一下 Visual Studio [說明] 功能表上的 [範例]。

    如需詳細資訊,請參閱尋找範例檔案

  • 最新版的完整範例清單可從 Visual Studio 2008 範例網頁 (英文) 取得。

  • 您也可以將範例置於電腦硬碟中。根據預設,範例和讀我檔案都會複製到 \Program Files\Visual Studio 9.0\Samples\ 下的資料夾中。對於所有的 Visual Studio Express 版,所有範例都可在線上找到。

若要建置和執行這個範例

  1. 在 Visual Studio 開發環境中開啟 SecureCRT.sln 方案檔。

  2. 在 [建置] 功能表中,按一下 [建置方案]。

  3. 從 [專案] 功能表按一下 [屬性]。

  4. 在 [組態屬性] 下選取 [偵錯]。

  5. 在 [命令引數] 文字方塊中指定引數 (“if find.cpp”會是個好選擇),以傳遞至程式。

  6. 從 [偵錯] 功能表中按一下 [啟動但不偵錯]。應用程式將會在檔案 (在這個案例中為 find.cpp) 的每個程式碼行中,搜尋您在 [命令引數] 中指定的文字 ("if"),並將所有符合項目寫入至工作目錄中的檔案 (在此案例中為 find.cpp.match)。

  7. 也可以從命令列中執行這個應用程式:SecureCRT.exe if find.cpp

關鍵字

strcpy_s, strncpy_s, fopen_s, _splitpath_s, sprintf_s, getenv_s, strcat_s, itoa_s, _set_invalid_parameter_handler

請參閱

參考

strcpy_s, wcscpy_s, _mbscpy_s

strncpy_s, _strncpy_s_l, wcsncpy_s, _wcsncpy_s_l, _mbsncpy_s, _mbsncpy_s_l

fopen_s, _wfopen_s

_splitpath_s, _wsplitpath_s

sprintf_s, _sprintf_s_l, swprintf_s, _swprintf_s_l

getenv_s, _wgetenv_s

strcat_s, wcscat_s, _mbscat_s

_itoa_s, _i64toa_s, _ui64toa_s, _itow_s, _i64tow_s, _ui64tow_s

_set_invalid_parameter_handler

其他資源

一般範例