
作业社区
探索学习新天地,共享知识资源!
蜡笔小方哎 的学生作业:
发现一个问题:不支持tab键 #include #include #include #include #include #include #define MY_LEN 50 // 假设输入的命令的字符串长度不超过50个字符 #define NUM_CMD_STR 10 // 假设输入的命令的字符串个数不超过10个 int main() { char cmd[MY_LEN]; char* my_argv[NUM_CMD_STR]; char* d = " "; char* token; int idx; pid_t pid; while(1) { memset(cmd, 0, MY_LEN); printf("minishell> "); fgets(cmd, MY_LEN, stdin); cmd[strlen(cmd)-1] = '\0'; if(strcmp(cmd, "exit") == 0) break; #ifdef DEBUG printf("[DEBUG] cmd = %s\n", cmd); #endif token = strtok(cmd, d); idx = 0; memset(my_argv, 0, NUM_CMD_STR*sizeof(char*)); while(token) { #ifdef DEBUG printf("[DEBUG] token = %s\n", token); #endif my_argv[idx++] = token; token = strtok(NULL, d); } #ifdef DEBUG printf("[DEBUG] my_argv = "); for(idx=0; idx