有沒有更好的選擇在VC6中進行字符串格式化,在替換之前進行語法檢查?CString :: Format的替代方法?
3
A
回答
10
CString
爲printf
風格的格式提供了Format
方法,但這不是類型安全的。
對於類型安全的字符串格式化,你既可以使用std::stringstream
/std::wstringstream
或Boost Format圖書館,雖然這些都與C++ std::basic_string
類模板的工作,而不是MFC CString
類。我已經在VC6中成功地使用了這兩個。
Boost格式很好,因爲它允許你使用類似printf
的語法,並且如果你提供的參數與格式字符串不匹配,它將拋出一個異常,而用C++ iostreams進行字符串格式化會讓你的代碼變得非常冗長。
注意,您可以從std::string
創建CString
對象如下:
std::string s;
CString str(s.c_str());
我希望這有助於!
0
FormatString - smart string formatting
伊沃Beltchev
發佈在CodeProject
1
退房FastFormat。對於CString,它有一個簡單的語法和一個「接收器」 - 接收格式化操作結果的FastFormat術語。
東西線沿線的:
int i = 1;
std::string ss = "a std string";
CString cs = "a Cstring";
CString result;
fastformat::fmt(result, "i={0}, ss={1}, cs={2}", i, ss, cs);
相關問題
- 1. 可以CString :: Format()接收const std :: string?
- 2. CString :: Format()導致調試斷言
- 3. CString連接方法?
- 4. Python中的.format函數替代
- 5. Matplotlib,savefig()的替代方法在保存到CString對象時提高性能?
- 6. 替代方法
- 7. 替代方法
- 8. 使用.format()有很多替代領域
- 9. ParMap方法替代方法
- 10. OS X上的cstring替換?
- 11. 棄用com.apple.eawt.ApplicationListener的替代方法有什麼替代方法
- 12. 替代socket.accept()方法
- 13. Thread.sleep()方法替代
- 14. Strstr替代方法
- 15. sqlceengine.compact方法替代
- 16. 替代方法.hasNextInt?
- 17. 替代方法V3
- 18. 替代arcTo方法?
- 19. 替代方法creationcomplete
- 20. sizeWithFont的替代方法:方法
- 21. jQuery .html()方法的替代方法?
- 22. CONTAINS方法的替代方法?
- 23. Excel Interop的替代方法SaveAs()方法
- 24. Thread.Suspend()方法的替代方法
- 25. jsp中PrintStacktrace()方法的替代方法
- 26. ajax的替代方法?
- 27. PyGObject的替代方法?
- 28. XMLHttpRequest的替代方法?
- 29. cellForRowAtIndexPath的替代方法
- 30. 替代的console.SetCursorPosition方法
我可以使用用VC6 – yesraaj 2009-01-01 13:48:28