經典錯誤:路徑字串未轉義
printf("c:\test\add\72_12\test.c");
// 輸出: c: estdd:_12 est.c
// \t -> Tab, \a -> 鳴鈴(BEL), \7 -> 八進位 7, \1 -> 八進位 1
正確寫法:雙反斜線
printf("c:\\test\\add\\72_12\\test.c");
// 輸出: c:\test\add\72_12\test.c
strlen 計算長度驗證
strlen("c:\test\add\72_12\test.c") == 19
// 解析: c: (2) + \t(1) + est(3) + \a(1) + dd(2) + \7(1) + 2_12(4) + \t(1) + est.c(5) = 19
// 每個轉義序列在記憶體中佔 1 byte
常見轉義字元速查
| 轉義 | 意義 | ASCII |
| \n | 換行 | 10 |
| \t | 水平定位 | 9 |
| \r | 歸位 | 13 |
| \a | 響鈴 | 7 |
| \\ | 反斜線 | 92 |
| \' | 單引號 | 39 |
| \" | 雙引號 | 34 |
| \nnn | 八進位 | - |
| \xhh | 十六進位 | - |
最佳實踐
- Windows 路徑字串字面量:
"C:\\path\\to\\file" 或 正斜線 "C:/path/to/file" (Windows API 也支援)。
- 原始字串字面量 (C++11):
R"(C:\path\to\file)" 無需轉義。