> Что-то я не вижу *функций* с такими названиями ни в libc ни в системных вызовах.
а они не кросс-платформенные. Посмотри в исходники lsof'a и fuser'a. ну или system("lsof > lsof-out.txt") и дальше fopen и понеслась :-))
Вообще, давай более деталей. Тебе под какую систему надо? Ты под рутом там будешь или нет? Файл этот действительно кто угодно открывает или какое-то определенное приложение?
> Какой функцией можно узнать статус файла (открыт ли кем-либо на запись)?
Нужно понимать, что для того чтобы узнать такой "статус файла" достоверно, нужно "заморозить" все остальные процессы в системе. Иначе в тот момент, когда ты узнал, что процесс А читает из файла Б, эта информация уже может быть реально устаревшей (т.е. процесс А возможно уже закрыл файл Б). Если тебя это устраивает, то предлагаю вариант перебирать все PID'ы в /proc и смотреть куда указывают симлинки в /proc/$PID/fd/. Больше ничего в голову не приходит. Если нужно в реальном времени мониторить изменения такого состояния - man 7 inotify.
P.S. Раз ты не указал на какой ОС тебе это нужно, то подразумеваем linux.