我是一个自制命令提示符的制作者(学校项目),我想要跟踪用户使用的最后10个命令。所以我有了一个数组:
char* history[10];
据我理解,这意味着我有一个指向字符串的指针数组。我的问题是我有另一个变量input,它是用户的输入。但每当用户输入新内容时,input的值都会改变,这意味着我的数组中所有字符串都会改变为用户的新输入。
我想知道如何解决这个问题?
我尝试将我的数组更改为以下内容:
char *history[10][MAX] //Where MAX = 256
我本可以使用strcpy,但是我无法弄清如何将一个数组的数组输入到方法中,然后使用strcpy将字符串复制到数组的数组中。
这是我的当前方法:
char* updateHistory(char *history[], char command[], int histIndex) {
history[histIndex] = command;
return *history;
}
有没有其他解决方案或者如何让我的解决方案起作用的帮助?
return *history;
的意义是什么? - Giorgi Moniava