у меня есть массив типа char
char *arg[100]
этот массив считывает данные откуда-то, когда, когда я печатаю arg[0]
, он печатает значение "help", а когда я печатаю arg[1]
, он печатает значение "exit" .. в качестве примера
что я точно хочу, это изменить arg[0]
с «помощи» на что-то еще, например «человек»
как я могу это сделать ???
спасибо
код:
int executeCommands(char arg31[])
{
pid_t pid;
int status,number;
char *arg3[10];
//char str2[21];
x = 0;
arg3[x] = strtok(arg31, " \n\t");//this line to tokenize every commands and its arguments from the passed array of chars (which is the command)
while(arg3[x])
arg3[++x] = strtok(NULL, " \n\t");
if(NULL!=arg3[0])
{
if(strcasecmp(arg3[0],"cat")==0) //done
{
int f=0,n;
char l[1];
struct stat s;
if(x!=2)
{
printf("Mismatch argument\n");
return 0;
}
else if(strcmp(arg3[0],"help")==0) // done
{
if (strcmp(arg3[1],"cat")==0)
printf("1");
else if(strcmp(arg3[1],"rm")==0)
printf("1");
else if(strcmp(arg3[1],"rmdir")==0)
printf("1");
else if(strcmp(arg3[1],"ls")==0)
printf("1");
else if(strcmp(arg3[1],"cp")==0)
printf("1");
else if(strcmp(arg3[1],"mv")==0)
printf("1");
else if(strcmp(arg3[1],"hi")==0)
printf("1");
else if(strcmp(arg3[1],"exit1")==0)
printf("1");
else if(strcmp(arg3[1],"sleep")==0)
printf("1");
else if(strcmp(arg3[1],"history")==0)
printf("1");
else if(strcmp(arg3[1],"type")==0)
printf("1");
else
{ char manarg[] = "man\t";
arg3[0] = strtok(manarg, " \n\t");
executeCommands(arg3);
}
writeHistory(arg3);
}