Я пытаюсь создать пример (чтобы помочь моему пониманию следующей концепции):файла таблица дескрипторов - родитель/ребенок сравнялся
процессРебенка наследует открытые файлы своего родителя. , которые можно увидеть на этой диаграмме http://www.cs.ucsb.edu/~rich/class/cs170/notes/FileSystem/filetable.rich.jpg
это мой код:
FILE* f = fopen("test.txt", "r");
if(fork()==0){
printf("%c", fgetc(f)); //should print e
printf("%c", fgetc(f)); //should print s
printf("%c", fgetc(f)); //should print t
printf("\n");
} else {
printf("%c", fgetc(f)); // print t
}
test.txt containts слова test
.
Предполагая, что родительский запуск выполняется первыми, если родительский и дочерний объекты имеют одну и ту же таблицу дескрипторов, не следует выводить систему t(from parent)est(from children)
. в настоящее время выход t▒▒▒▒
.
благодаря Даниель
спасибо товарищу! не знал, что – dgamma3