从终端读取input.txt文件和output.bmp文件(C编程)

我必须做一个我必须编写C-Programm的任务,它从控制台获取输入文件名作为命令行参数。
它应该将数据从input.txt文件(输入文件具有bmp文件的信息 – 颜色等)移动到生成的output.png文件中。 20个参数代表output.png图像的宽度和高度。

所以控制台请求(在Linux上测试)将如下所示:

./main input.txt output.bmp 20 20 

我知道这段代码会读取一个input.txt文件并将其放在屏幕上。

 FILE *input; int ch; input = fopen("input.txt","r"); ch = fgetc(input); while(!feof(input)) { putchar(ch); ch = fgetc(input); } fclose(input); 

这会(例如)将其写入output.png文件。

 FILE *output; int i; output = fopen("ass2_everyinformationin.bmp", "wb+"); for( i = 0; i < 55; i++) { fputc(rectangle_bmp[i], output); } fclose(output); 

但是这个代码只能工作,如果我直接在代码中硬编码名称,而不是使用命令行参数。
我没有任何线索,如何实现,我也没有在互联网上找到任何有用的信息,也许有人可以帮助我。

问候

标准main()的完整原型是

 int main(int argc, char* argv[]); 

你得到一个带有参数个数的int, argc
一个“字符串”列表(就C中存在而言), argv

你可以使用例如

 #include "stdio.h" int main(int argc, char* argv[]) { printf("Number: %d\n", argc); printf("0: %s\n", argv[0]); if (1 

开始玩参数。

请注意,除了使用命令行参数的基本示例之外,故意不执行任何操作。 这与陷入困境的StackOverflow策略相匹配,该策略提供了对分配的帮助,而无需解决它们。