作业帮 > 综合 > 作业

【急】帮忙看下下面的代码是什么意思(从注释处开始解释)

来源:学生作业帮 编辑:搜搜做题作业网作业帮 分类:综合作业 时间:2024/06/30 18:45:25
【急】帮忙看下下面的代码是什么意思(从注释处开始解释)
int alloced_file_name_in = 32;
char** file_names_in = (char**)malloc(sizeof(char*)*alloced_file_name_in);

if (argc == 1)
{
num_file_name_in = 2;
fprintf(stderr,"lasmerge.exe is better run in the command line\n");
file_names_in[0] = new char[256];
fprintf(stderr,"enter input file 1: "); fgets(file_names_in[0], 256, stdin);
file_names_in[0][strlen(file_names_in[0])-1] = '\0';
file_names_in[1] = new char[256];
fprintf(stderr,"enter input file 2: "); fgets(file_names_in[1], 256, stdin);
file_names_in[1][strlen(file_names_in[1])-1] = '\0';
}
for (i = 1; i < argc; i++)
{
if (strcmp(argv[i],"-i") == 0)
{
i++;
if (num_file_name_in == alloced_file_name_in) //
{
alloced_file_name_in *= 2;
file_names_in = (char**)realloc(file_names_in,sizeof(char*)*alloced_file_name_in);
}
file_names_in[num_file_name_in] = argv[i];
num_file_name_in++;
}
【急】帮忙看下下面的代码是什么意思(从注释处开始解释)
这个应该是拆解命令行参数的代码.
从命令行参数中,逐一(for)获取参数,并将参数赋值给指针数组file_names_in,数组个数记录num_file_name_in每次+1,直到参数个数太多(比32个多了),那么数组file_names_in个数就不够了,
你注释下面的语句,就是将32限制变为64(或64变128),然后重新给数组分配更多内存.