Перейти к содержанию

Hello world ????


Гость

Рекомендуемые сообщения

есть вот такой текст

{

printf("Hello");

if(fork()==0)

printf("world");

exit(0);

}

На экран выводится Hello world Hello

Откуда берется второй раз Hello? Когда пишу printf("Hello \n"); Работает как надо.

Ссылка на комментарий
Поделиться на другие сайты

//#include

#include

#include

int

main()

{

unsigned char stuff[] = " world";

printf("hello");

// signal(SIGCHLD, SIG_IGN);

if (fork() == 0) {

write(1, stuff, strlen(stuff));

_exit(0);

}

return (0);

}

a tak tol'ko odin hello:)

Ссылка на комментарий
Поделиться на другие сайты

#include

int main()

{

printf("Hello");

fflush(NULL);

if (fork() == 0)

printf(" world\n");

exit(0);

}

a tak?

i vot eze odna detal', kak viyasnilos' printf derzit 4 baita v buffere.

bolee togo, esli sdelat' printf("hello'); do fork, a potom v

roditel'skom processe sdelat:

for (i = getdtablesize(); i > 0; i--)

close(i);

to pervii printf voobsche ne poyavlyaetsya: on ne uspevaet vilezti iz buffera do zakritiya i = 1; Smile)

Ссылка на комментарий
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

Загрузка...
×
×
  • Создать...