-1

我正在通过一个源代码分析它的实现,其中我定义了一个方法:

unsigned int rs_calc_weak_sum(void const *p, int len) {
unsigned char const    *buf = (unsigned char const *) p;
}

应该将什么类型的参数传递给此方法?

请帮我。

谢谢。

4

1 回答 1

2

任何指针都可以传递给 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;
}
于 2013-07-29T14:02:55.673 回答