Открытие viewController программно в Swift

используйте dup вместо dup2. dup создает дескриптор файла псевдонима, значение которого всегда должно быть наименьшим доступным файловым дескриптором.

new_fd = dup(file); - В этом утверждении file может иметь значение 3 (поскольку stdin - 0, stdout - 1, а stderr - 2 ). поэтому new_fd будет 4

Если вы хотите перенаправить stdout в файл. Затем сделайте, как показано ниже.

close(stdout);
new_fd = dup(file);

Теперь dup вернет 1 в качестве псевдонима для дескриптора file, потому что мы закрыли stdout, поэтому открытые дескрипторы файла 0,2,3 и 1 являются наименьшими доступный файловый дескриптор.

Если вы используете dup2, значит, dup2(file,1); - сделайте так

13
задан Cœur 10 September 2017 в 05:58
поделиться