gpt4 book ai didi

c++ - 无效的运行时参数 _itoa_s

转载 作者:塔克拉玛干 更新时间:2023-11-03 07:00:13 25 4
gpt4 key购买 nike

在使用 _itoa_s_ultoa_s 时,如果我尝试从 DWORD 获取 char 数组,我会遇到奇怪的行为。该函数返回零(成功)并且我的应用程序继续,但我收到一个错误代码为 0xc0000417 (STATUS_INVALID_CRUNTIME_PARAMETER) 的异常窗口。

ULONG pid = ProcessHandleToId(hProcess);  
int size = getIntSize(pid);
char *pidStr = new char[size+1];
_ultoa_s(pid, pidStr, size+1, 10);
//do sth with pidStr...
delete[] (pidStr);`

ProcessHandleToId 返回给定 ProcessHandlePID (DWORD)

getIntSize 将数字的数量返回到相应的 int/char 数组 (5555 => 4)。

最佳答案

是的,安全 CRT 函数会在检测到问题时以状态代码 0xc0000417 中止您的程序。但是,它们会立即执行此操作,该函数不会返回。

这意味着您正在查看此问题的错误源代码。轰炸您的程序的不是 _ultoa_s() 调用。这是另一个函数调用,在您代码的其他地方。我当然不能帮你找到它。但是调试器应该给你一个好主意,当它中断时查看调用堆栈。

关于c++ - 无效的运行时参数 _itoa_s,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3467444/

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