Мы добавили операторы печати, чтобы проверить, где произошла ошибка сегментации.Сбой в strcpy (команда, токен);Как мы можем сохранить эту часть в команде?Также есть ли способ проверить наличие нулевого символа в конце токена?Имеет ли strtok () нулевой символ в конце при использовании?
int main(int argc, char **argv)
{
char *command, *flag, *pathname, *linkname;
struct stat st = {0};
char cmd[200];
char *token; //Pointer
int counter = 1; //Counter variable
FILE *fp;
char mode2[] = "0750"; //To set the permission of a file/path
long j;
char mode[] = "0640"; //To set the permission of a file/path
long i;
fgets(cmd, 200, stdin);
printf("print for cmd: %s\n", cmd);
//User input is tokenized to determine the proper commands are entered and executed
token = strtok(cmd, " "); //Input is tokenized by white spaces.
printf("token: %s\n", token);
strcpy(command, token);
printf("print for command: %s\n", command);
if(token == NULL)
{
printf("Error with command input.\n");
exit(EXIT_FAILURE);
}