gpt4 book ai didi

c - 在 C 中始终强制转换变量是一个好习惯吗?

转载 作者:行者123 更新时间:2023-12-01 16:19:00 24 4
gpt4 key购买 nike

我正在编写一些 C 代码并使用 Windows API。我想知道强制转换明显相同但名称不同的类型是否是一种好的做法?例如,当将 TCHAR * 传递给 strcmp() 时,它需要一个 const char *。假设我想编写严格且在各方面都正确的 C,strcmp((const char *)my_tchar_string, "foo"),我应该这样做吗?

最佳答案

不要。但也不要使用 strcmp() 而是使用 _tcscmp() (甚至是安全的替代方案)。

_tcs* 表示一整套 C 运行时(字符串)函数,其行为正确取决于预处理器如何翻译 TCHAR

关于安全替代方案,请查找带有尾随 _s 的函数,或者以 C 运行时中的经典字符串函数命名的函数。还有另一组函数返回 HRESULT,但它与 C 运行时不兼容。

关于c - 在 C 中始终强制转换变量是一个好习惯吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8216714/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com