gpt4 book ai didi

c++ - _stprintf_s 将 "10"视为 "1"

转载 作者:行者123 更新时间:2023-11-30 20:16:22 36 4
gpt4 key购买 nike

我试图将一个数字传递到一个 BYTES 数组中 - 但将该数字视为一个字符数组。这是我的代码:

for(int i=1;i<=totalFiles;i++)
{
BYTE* input = new BYTE[sizeof(DWORD) * sizeof(TCHAR)];
_stprintf_s((TCHAR*)input, sizeof(DWORD) * sizeof(TCHAR), _T("%d"), i);

QueueToThreadPool(input);
}

由于某种原因,当 i=10 或 i=11(等等)时,输入仅获取“1”的值,而不是 i 的值。这是为什么?

最佳答案

我猜你的程序是作为 UNICODE 程序构建的,但无论使用该字符串,都将其视为纯 ASCII 字符串。因此第一个 UNICODE 字符的最高有效字节(为零)被视为字符串的结尾。

关于c++ - _stprintf_s 将 "10"视为 "1",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11178849/

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