gpt4 book ai didi

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

转载 作者:太空宇宙 更新时间:2023-11-04 04:20:12 26 4
gpt4 key购买 nike

我必须做一个作业,我必须编写一个 C 程序,它从控制台获取输入文件名作为命令行参数。
它应该将数据从 input.txt 文件(输入文件包含 bmp 文件的信息 - 颜色等)移动到生成的 output.png 文件。 20 20 个参数代表输出.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() 的完整原型(prototype)是

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

你得到一个包含参数数量的整数,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<argc)
{
printf("1: %s\n", argv[1]);
}
}

开始讨论参数。

请注意,这只是一个使用命令行参数的基本示例,有意不执行任何内容。这符合 StackOverflow 的公认政策,即提供作业帮助,而不是解决它们。

关于c - 从终端读取 input.txt 文件和 output.bmp 文件(C 编程),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47535120/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com