【发布时间】:2010-07-08 09:58:57
【问题描述】:
很久没用C了,现在要修改一点代码。有一件事我无法理解:
char filename[20];
filename[0] = '\0';
for (j=0; j < SHA_DIGEST_LENGTH; j++){
sprintf(filename + strlen(filename),"%02x",result[j]);
}
在第一行中声明了一个 20 个字符的字符串。 在第二行中,第一个字符设置为 '\0',我想也是一个空字符串。
在 for 循环中,我不明白文件名与其长度之间的“总和”...... sprintf 的第一个参数应该是一个缓冲区,用于复制右侧的格式化字符串。这笔款项的结果是什么?在我看来,我正在尝试将一个数组和一个整数相加......
我错过了什么?
【问题讨论】: