Фатальное: неизвестная ошибка -1892211488 Кодирование оболочки C Linux chdir() не работает должным образомLinux

Ответить
Anonymous
 Фатальное: неизвестная ошибка -1892211488 Кодирование оболочки C Linux chdir() не работает должным образом

Сообщение Anonymous »

Я пытаюсь написать собственную оболочку с минимальными библиотеками, но мне приходится использовать unistd.h с chdir(), но он работает не так, как я хочу. Если я наберу cd, он должен перейти по пути.
Я пробовал это:

Код: Выделить всё

        if(strEquals(input[0], "cwd") == 1)
{
printf("%s",cwd);
}
else if(strEquals(input[0], "cd") == 1)
{
char resultChar[1024];
append(resultChar, cwd, input[1]);
if(chdir(resultChar) == 0)
{
printf("new dir: %s\n", resultChar);

}
else
{
printf("changing working directory to: %s failed: %s\n", resultChar,    strerror(errno));

}
}
Терминал ввода и вывода:

Код: Выделить всё

 cd /shell
changing working directory to: /home/user/shell
failed: Unkown error -1892211488
Current working directory: /home/user
Почему это происходит, как вы можете видеть, resultChar правильный: /home/user/shell
Я действительно уверен, что путь правильный. Я не могу объяснить, почему это происходит
каждый ответ мне поможет!
Заранее спасибо

Подробнее здесь: https://stackoverflow.com/questions/792 ... ng-properl
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Linux»