1

我必须指定这些标志/参数。如果缺少参数,请为标志使用指定的默认值。如果参数无法转换为数值,则使用该参数的默认值。

-eye:如果存在此标志,则接下来的三个参数指定眼睛位置的 x、y 和 z 坐标。如果此标志不存在,则眼睛默认位于 <0.0, 0.0, -14.0> 位置。

-view:如果存在此标志,则接下来的六个参数指定视图矩形的 min_x、max_x、min_y、max_y、宽度和高度分量。如果标志不存在,则视图矩形默认位置 min_x 为 -10,max_x 为 10,min_y 为 -7.5,max_y 为 7.5,宽度为 1024,高度为 768。

-light:如果存在此标志,则接下来的六个参数指定灯光位置的 x、y 和 z 坐标以及灯光颜色的 r、g 和 b 值。如果标志不存在,则灯光默认为位置 <-100.0, 100.0, -100.0> 和颜色/强度 (1.5, 1.5, 1.5)。

-ambient:如果存在此标志,则接下来的三个参数指定环境光颜色的 r、g 和 b 值。如果标志不存在,则环境光颜色默认为 (1.0, 1.0, 1.0)。

我在想,我是否必须为这些标志中的每一个创建一个函数?到目前为止,我对如何将其合并到我的代码中感到有些困惑:

#include "commandline.h"

int main(int argc, char const *argv[])
{
   FILE *input;

   input = fopen(argv[1], "r");

   if (input == NULL)
   {
      perror("Error\n");
   }
}
4

1 回答 1

0

您是否正在寻找这个:

if(argc < NoOfArgumentNeeded){
 fprintf(stderr, "Usage: %s message string", argv[0]);
 return EXIT_FAILURE;
}

你可以单独写Usage(),这里有一些很好的例子:(1)A Little C Primer/C Command Line Arguments,(2)命令行参数解析

编辑

当您想要打印错误消息时,Stderr 很有用

标准错误

标准错误流:标准错误流是错误消息和其他诊断警告的默认目标。与标准输出一样,它通常也默认定向到文本控制台(通常在屏幕上)。

stderr 可以用作任何接受 FILE* 类型参数并期望输出流的函数的参数,例如 fputs 或 fprintf。

于 2013-05-25T06:02:54.327 回答