我正在通过一个源代码分析它的实现,其中我定义了一个方法:
unsigned int rs_calc_weak_sum(void const *p, int len) {
unsigned char const *buf = (unsigned char const *) p;
}
应该将什么类型的参数传递给此方法?
请帮我。
谢谢。
我正在通过一个源代码分析它的实现,其中我定义了一个方法:
unsigned int rs_calc_weak_sum(void const *p, int len) {
unsigned char const *buf = (unsigned char const *) p;
}
应该将什么类型的参数传递给此方法?
请帮我。
谢谢。
任何指针都可以传递给 void * 参数。“应该”传递什么取决于代码对该参数的作用。
char array[12] = "Hello World";
unsigned in res = 0;
res = rs_calc_weak_sum(array, 12);
#include <stdio.h>
int main ( void )
{
char filename[] = "file.txt";
FILE *file = fopen ( filename, "r" );
if (file != NULL) {
char line [1000];
while(fgets(line,sizeof line,file)!= NULL) /* read a line from a file */ {
res = rs_calc_weak_sum(line, 1000);
}
fclose(file);
}
else {
perror(filename); //print the error message on stderr.
}
return 0;
}