有没有办法让代码在每次运行时自行修改。我的意思是添加新功能和修改现有功能。例如,如果我有一个运行特定功能的 ac 程序来检查文件是否存在,我可以修改程序,以便在运行时我可以让它打开另一个文件并永久存储这个新程序。
例子:
void eng_run()
{
int itr = 0;
int itr2 = 0;
int check = 0;
int conf = 0;
char arg1[10];
char arg2[10];
while(act_arg[itr] != NULL)
{
if((strcmp(act_arg[itr],"what") == 0) || (strcmp(act_arg[itr],"how") == 0) || (strcmp(act_arg[itr],"whats") == 0))
{
for(itr2 = itr + 1; act_arg[itr2] != NULL ; itr2++)
{
if((strcmp(act_arg[itr2],"list") == 0) || (strcmp(act_arg[itr2],"ls") == 0))
{
printf("\E[32mThe \"ls\" system call lists out all the files in the current directory. \n\E[0m");
conf++;
}
}
}
else if((strcmp(act_arg[itr],"list") == 0) && conf == 0)
{
bzero(act_arg,100);
act_arg[0] = (char *)malloc(sizeof(char) * 100);
strcat(act_arg[0],"ls");
check++;
}
}
}
在上述函数中,act_arg 预先解析了命令行参数。现在这个函数可以回答如下问题:
清单有什么作用?(或)列出所有文件
现在我希望它在执行过程中修改自己,如果用户希望它通过添加类似方法来处理 cp 命令。意味着它接受:
cp是做什么的?(或)将文件一复制到文件二
使用副本作为关键字。