gpt4 book ai didi

c++ - 在 C++ 中可以对二进制数据执行什么类型的输入检查?

转载 作者:行者123 更新时间:2023-11-30 03:08:54 31 4
gpt4 key购买 nike

假设我在 C++ 中有一个这样的函数,我希望将其发布给第三方。我想让它让用户知道发生了什么,如果他/她输入无效数据并且库崩溃。

假设,如果有帮助,我也可以更改界面。

int doStuff(unsigned char *in_someData, int in_data_length);

除了特定于应用程序的输入验证(例如,查看二进制文件是否以已知标识符等开头)之外,还可以做什么?例如。我可以让用户知道,如果他/她传入只有 1 个字节数据的 in_someData 但传入 512 作为 in_data_length 吗?

注意:我已经问过类似的问题here , 但让我换个角度问..

最佳答案

无法检查传递给函数的参数in_data_length 是否具有正确的值。如果这是可能的,该参数将是多余的,因此是不必要的。

但是标准模板库中的 vector 解决了这个问题:

int doStuff(const std::vector<unsigned char>& in_someData);

因此,不可能存在“NULL 缓冲区”或无效的数据长度参数。

关于c++ - 在 C++ 中可以对二进制数据执行什么类型的输入检查?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4516577/

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