c - 为什么 memccpy 函数使用 int 参数?
问题描述
memccpy
定义为:
void *memccpy(void *dest, const void *src, int c, size_t n)
我知道整数c
被用作unsigned char
按类型转换。
那我觉得
void *memccpy(void *dest, const void *src, unsigned char c, size_t n)
看起来更好。有什么理由memccpy
必须使用int
参数吗?
解决方案
在古代 C 中,没有办法将参数作为unsigned char
;传递。所有论点都被提升为至少int
. 将参数类型更改为unsigned char
now 会破坏兼容性。(这可能会解决,但没有需求。)
推荐阅读
- openssl - 如何找到在openssl中生成的-hex 16的-K值?
- python - 如何使用 csv 标头作为表列使用 python 将 CSV 加载到 sqlite DB
- amazon-web-services - Cloudwatch 日志到雪花仓库
- amazon-web-services - 使用 sagemaker 笔记本实例连接到 redshift
- twitter-bootstrap - 在 Bootstrap 模态表单中显示详细信息,.net core
- javascript - 错误 R10(启动超时)-> Web 进程在启动 Heroku 错误后 60 秒内无法绑定到 $PORT
- java - 我们如何将文件挂载为文件而不是停靠容器内的目录?
- c++ - curl_easy_perform() libcurl 函数不从网站返回 html
- flutter - 在叠加层前面制作一个小部件
- javascript - 未捕获的类型错误:$(...).modal 不是函数,无法管理正确的顺序