如何查找由u_char *指向的字符串中的substr,因为所有C函数都将char *作为参数?字符串搜索u_char *
0
A
回答
0
假设u_char
是unsigned char
的typedef,那么常规技巧是使用标准函数并应用强制转换。
虽然这很笨拙,所以你可以改为使用自动应用转换的宏。
#define STRSTR(haystack, needle) \
((u_char *)strstr((char *)haystack, (char *)needle))
或者,如果你的编译器支持C99可以编写inline
功能。
static inline u_char *ustrstr(u_char *haystack, u_char *needle)
{
return (u_char *)strstr((char *)haystack, (char *)needle);
}
或者你可以简单地写盖功能:
u_char *ustrstr(u_char *haystack, u_char *needle)
{
return (u_char *)strstr((char *)haystack, (char *)needle);
}
0
由于u_char定义unsigned char型的BSD型插座的类型定义的实现(SYS/types.h中的* nix中和WINSOCK.H在Windows中),如果这是您的上下文,那么在将它们传递给标准C函数之前,您可以安全地将其应用到(char*)
。如果这不是你的上下文,那么你必须找到u_char的声明并确认它是unsigned char类型或等价的,只有这样才能安全地应用这个强制转换。
相关问题
- 1. 字符串转换为u_char *
- 2. C:从u_char解析字符串*
- 3. 搜索字符串
- 4. 字符串搜索
- 5. 搜索字符串
- 6. 搜索字符串
- 7. 搜索字符串
- 8. 搜索字符串
- 9. 字符串搜索
- 10. 搜索字符串
- 11. 搜索字符串
- 12. 搜索字符串
- 13. 字符串搜索
- 14. 搜索字符串
- 15. sed命令来搜索字符串和搜索的字符串
- 16. 变量搜索,返回“字符串,字符串2”上搜索
- 17. 搜索字符串中的字符串
- 18. 搜索字符串内的字符串
- 19. 数字搜索字符串
- 20. 搜索字符串文字
- 21. vb.net搜索搜索字符串
- 22. 涂改搜索字符串搜索
- 23. MySQL搜索字符串
- 24. 搜索字符串集合
- 25. 通过搜索字符串
- 26. 查询字符串搜索
- 27. 字符串搜索数组
- 28. ArrayList字符串搜索
- 29. 搜索Json字符串
- 30. 搜索循环字符串