我必须指定这些标志/参数。如果缺少参数,请使用标志的指定默认值。如果参数无法转换为数值,则使用该参数的默认值。
-eye:如果存在此标志,则接下来的三个参数指定眼睛位置的x,y和z坐标。如果此标志不存在,则眼睛默认为位置< 0.0,0.0,-14.0&gt ;.
-view:如果存在此标志,则接下来的六个参数指定视图矩形的min_x,max_x,min_y,max_y,width和height组件。如果该标志不存在,则视图矩形默认为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");
}
}
答案 0 :(得分: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)Command Line Parameter Parsing
修改:
当您想要打印错误消息时,Stderr非常有用
标准错误流:标准错误流是错误消息和其他诊断警告的默认目标。喜欢 stdout,它通常也默认指向文本控制台 (一般来说,在屏幕上)。
stderr可以用作任何需要的函数的参数 FILE类型的参数*期望输出流,如fputs或 fprintf中。