我意識到我的程序必須能夠處理特殊字符,如日語或中文。但我知道內置的char
遠遠不夠。那麼如何在C程序中使用這些特殊字符呢?如何在C中使用特殊字符?
回答
您需要使用wide characters的wchar_t的。它們是你所需要的Unicode的一部分,它們可以使用幾乎每個字符都可以工作,並且可以這樣做,因爲 - 這就是問題所在:它消耗更多的字節(兩倍多;這聽起來很噸,但大多數情況下並不是)。
注意: 在Windows編程中,您使用TEXT("")
宏來選擇您的字符是Unicode還是ANSI。它會根據您的項目設置進行選擇。
如果硬要將它的Unicode您可以用L
信像這樣的前綴寫入字符串:L"Unicode String"
頭文件與寬字符的工作是wchar.h
。
setlocale(LC_ALL,「」);這條線是做什麼的? – OneZero
@ user1229490下面是一個參考:http://www.cplusplus.com/reference/clibrary/clocale/setlocale/ – MasterMastic
不要忘記考慮utf-8。這樣你就不需要寬字符。 – Matt
對Unicode類型的語言,你可以改用炭
我需要任何頭文件嗎?有什麼需要注意的嗎? – OneZero
是的,你需要非常清楚你正在使用wchar_t,還有一個豐富的函數庫等,像wstring等。你將需要查看文檔,以便你瞭解如何處理它們,如何聲明字符串文字等。 –
如果您可以忍受一個字節!=一個Unicode字符的情況,那麼您可以使用UTF-8編碼。
UTF-8與Unicode相同嗎? – OneZero
它使用相同的unicode字符表。 UTF8使用可變長度編碼。每個PHP開發人員都必須處理這個btw;) – mazatwork
@ user1229490 UTF-8是對Unicode的編碼。 – MasterMastic
像這樣在Windows VS :)
#include <tchar.h>
typedef struct _我的結構{
int 數據;
TCHAR 字符串指針[100];
}我的結構;
int main(int argc,char** argv){
我的結構 我的變量 = {1, _T("字符串123abc")};
_tprintf(_T("%s, %d"),我的變量.字符串指針,我的變量.字符串指針);
return 0;
}
最佳答案。 – chris
- 1. C++特殊字符
- 2. 如何在字符串中使用特殊字符
- 3. 如何在字符串中使用特殊字符?
- 4. 如何在android中使用特殊字符加密字符串?
- 5. 如何正確使用特殊字符
- 6. 在Python中使用特殊字符
- 7. 在php中使用特殊字符echo
- 8. 在XSL中使用特殊字符
- 9. 在jQuery中使用特殊字符
- 10. 在Google Charts中使用特殊字符
- 11. 如何在製表符文本中使用特殊字符?
- 12. 在C中解碼特殊字符#
- 13. C#在TextBlock中顯示特殊字符
- 14. c#如何使用ProcessDialogKey捕獲特殊字符,如「Tab」,「Up」等
- 15. 如何使用PHP的特殊字符中的子字符串
- 16. JS中的特殊字符,如何使用「/」字符
- 17. 如何在使用C#的特殊字符之前放置轉義字符?
- 18. MSAccess使用特殊字符
- 19. MySQL - 使用特殊字符
- 20. 使用特殊字符
- 21. 使用特殊字符grep
- 22. [R使用特殊字符
- 23. 在css中使用僞特殊字符之前插入特殊字符
- 24. 在Java中使用特殊字符(使用原始字符)
- 25. C++ - 轉義特殊字符
- 26. 特殊字符keybd_event C++
- 27. C#Datatable Escape特殊字符
- 28. C#RNGCryptoServiceProvider和特殊字符
- 29. RichTextBox和特殊字符c#
- 30. C#ESC POS特殊字符
[絕對最低每一個軟件開發人員絕對,積極必須知道的關於Unicode和字符集(沒有藉口!)](http://www.joelonsoftware.com /articles/Unicode.html)。 –