常見問題

tags: NTOU CSE C++ Programming

教學文件和作業說明文件: https://hackmd.io/@kogiokka/ntou-cse-cpp-nav

範例程式和範例專案:Google Drive

定義 _CRT_SECURE_NO_WARNINGS

WindowsVisual Studio

當你用到C標準函式庫的函式(例如:scanffopen)時可能會遇到類似下列的錯誤,宣稱你使用的函式不安全:

C4996 'fopen': This function or variable may be unsafe. Consider using fopen_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS.

方法一、依照錯誤訊息更改程式碼(不建議)

*_s函式稱為Bound checking interfaces,是由微軟所提議的非強制性標準,收錄在C11標準的Annex K。簡單來說,Annex K of C11本身帶來的效益很小。加上主流的編譯器中只有微軟的MSVC有相似的實作(並非完全依照標準),GCC更表示現在不會而且未來也不會支援Annex K of C11。因此使用這些函式會造成跨平台開發的障礙。即便你賭定這輩子只會在微軟的平台上寫code,也實在沒必要多記憶這些函式的使用方式,用C語言舊有的即可。

參考資料:

方法二、在原始碼檔案定義巨集

#define _CRT_SECURE_NO_WARNINGS 放在所有產生錯誤的檔案頂部。

方法三、修改 Visual Studio 專案屬性

進入到專案屬性頁。組態改為所有組態後,到組態屬性→C/C++→前置處理器→前置處理器定義→編輯。在最上面的文字方框換行後輸入_CRT_SECURE_NO_WARNINGS

設定字型

General

你知道寫程式也講究字型嗎?瀏覽程式碼時應該使用等寬字型(Mono 字型),符號與字母才不會擠在一起。而且字母、符號和空白都等寬,行與行之間的每個字元才能一一對齊,程式的縮排看起來才會正確。有些字型甚至會在名稱中包含 Code 這個字,代表是寫程式專用。

寫程式常用的字型:

等寬字型和非等寬字型的比較:

Image Not Showing Possible Reasons
  • The image file may be corrupted
  • The server hosting the image is unavailable
  • The image path is incorrect
  • The image format is not supported
Learn More →

更多字型可以到 Nerd Fonts 下載:https://www.nerdfonts.com/

各大IDE設定字型的方式

  • Visual Studio: 上方主選單工具 → 選項,在左側面板展開環境後點字型和色彩
  • Visual Studio Code: 上方主選單檔案 → 喜好設定 → 設定進入設定頁面。修改「Editor: Font Size」和「Editor: Font Family」兩個欄位。
  • KDevelop: 上方主選單設定 → 設定KDevelop,左側面板選編輯器 → 字型與顏色,右側面板選字型分頁。