При создании репозитория Subversion в файловую систему сбрасывается несколько файлов шаблонов хуков.При проверке примера ловушки precommit выясняется, что ловушка выполняется с информацией, передаваемой аргументом и, по-видимому, также STDIN.
# ... Subversion runs this hook by invoking a program
# (script, executable, binary, etc.) named 'pre-commit' (for which
# this file is a template), with the following ordered arguments:
#
# [1] REPOS-PATH (the path to this repository)
# [2] TXN-NAME (the name of the txn about to be committed)
#
# [STDIN] LOCK-TOKENS ** the lock tokens are passed via STDIN.
Захват аргументов тривиален, но как программа может перехватить STDIN?Следующий фрагмент кода, запускаемый в int main (...), ничего не может собрать.
char buffer[1024];
std::cin >> buffer;
buffer[1023] = '\0';
Что я делаю не так?