iphone - 识别 C 变量

标签 iphone objective-c c

我找到了这个代码片段here ,但我就是不知道变量 cSrt 是什么和result是!

for(int i = 0; i<1000000; i++){
    CC_MD5(cStr, strlen(cStr), result);
    sprintf(cStr, "%02x%02x", result[0], result[1]);
}

编译器告诉我它们是 charunsigned char ,但是当我尝试运行它时,它给了我一个 EXC_BAD_ACCESSsprintf -线。

你知道我可以做些什么来让这个片段工作吗?谢谢。

最佳答案

cStrresult 应该是(无符号)字符数组,或指向(无符号)字符缓冲区的指针。

例如

char cStr[] = "This is my str";
char result[16];
for( int i=0; i<1000000; i++ )
{
    CC_MD5( cStr, strlen(cStr), result );
    sprintf(cStr, "%02x%02x", result[0], result[1]);
}

请注意,cStr 可能是 const,因为它只是读取,但 result 应该是非常量缓冲区,因为 CC_MD5 将结果写入此处。

编辑:

实际上,在这种情况下,cStr 不能是 const,因为您在 sprintf 行中写入它,但只要您仅在 中使用它CC_MD5应该没问题。

关于iphone - 识别 C 变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8704717/

相关文章:

objective-c - 具有cocoapods obj-c依赖性的swift项目

iphone - uiscrollview 捕获滚动尝试

c - netbsd pthread_create SIGABRT

iphone - 为什么 MPMovieDurationAvailableNotification 只为我的 MPMoviePlayerController 的多个实例调度一次?

iphone - 屏幕上的 CGRect 网格?

objective-c - 当调用 NSOpenPanel 的 runModal 时,我的应用程序将无法正确终止

c - 在 char 中传递参数可以使用 printf 正确打印,但不能使用 write

c - 如何通过 libwebsocket 发送异步数据?

html - 访问移动设备上的硬件像素

iphone - Xcode数据库使用困惑