gpt4 book ai didi

Objective-C 隐式转换丢失整数精度(size_t 到 CC_Long)

转载 作者:太空狗 更新时间:2023-10-30 03:13:19 24 4
gpt4 key购买 nike

我有一个生成字符串 sha256 加密的函数,

函数如下:

    -(NSString*)sha256HashFor:(NSString*)input
{
const char* str = [input UTF8String];
unsigned char result[CC_SHA256_DIGEST_LENGTH];
CC_SHA256(str, strlen(str), result);

NSMutableString *ret = [NSMutableString stringWithCapacity:CC_SHA256_DIGEST_LENGTH*2];
for(int i = 0; i<CC_SHA256_DIGEST_LENGTH; i++)
{
[ret appendFormat:@"%02x",result[i]];
}
return ret;
}

现在这行 CC_SHA256(str, strlen(str), result); 是产生此警告的原因(警告是针对 strlen(str) 变量的)。

Implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'CC_LONG' (aka 'unsigned int')

我猜我只需要将 strlen(str) 转换为 CC_Long,但我不知道该怎么做。

最佳答案

  1. 大概这不是错误,而是警告。

  2. “我只需要将 strlen(str) 转换为 CC_Long,但我不知道该怎么做。” - 显式类型转换(类型转换):(CC_LONG)strlen(str),但我认为您真的不需要这个。

关于Objective-C 隐式转换丢失整数精度(size_t 到 CC_Long),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17013838/

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