好的,这是我遇到问题的代码部分:
char * historyArray;
historyArray = new char [20];
//get input
cin.getline(readBuffer, 512);
cout << readBuffer <<endl;
//save to history
for(int i = 20; i > 0; i--){
strcpy(historyArray[i], historyArray[i-1]); //ERROR HERE//
}
strcpy(historyArray[0], readBuffer); //and here but it's the same error//
我收到的错误是:
"invalid conversion from 'char' to 'char*'
initializing argument 1 of 'char* strcpy(char*, const char*)'
该项目是创建一个psudo OS Shell,它将捕获和处理中断以及运行基本的unix命令。我遇到的问题是我必须将过去的 20 个命令存储到一个在堆栈上动态分配的字符数组中。(也取消分配)
当我只使用二维字符数组时,上面的代码可以正常工作:
char historyArray[20][];
但问题是它不是动态的......
是的,我确实知道 strcpy 应该用于复制字符串。
任何帮助将不胜感激!