首页 > 解决方案 > 可以在 C 函数中使用未使用的参数吗?

问题描述

可以不使用参数吗?我正在尝试像这样运行该功能:

void encoder();
void encoder(int argc, FILE* inputFP, FILE* outputFP);

是否需要第二个函数,一个用于处理 stdio,一个用于处理文件?当我尝试 void encoder(int argc, FILE* inputFP, FILE* outputFP);不带任何参数运行时,出现错误:

error: too few arguments to function ‘void encoder(int, FILE*, FILE*)’
         encoder();```

标签: c

解决方案


C函数中可以有未使用的参数吗?

是的。

不过,为什么不encoder()取两个FILE*而不是名字,然后做(伪代码):

main(argc, argv)
  FILE * fp_in, * fp_out

  if argc == 2
    fp_in = open argv[1], "r"
  else
    f = stdin

  if argc == 3
    fp_out = open argv[3], "w"
  else
    fp_out = stdout

  encoder fp_in, fp_out

推荐阅读