Стандартное сообщение об ошибке - PullRequest
1 голос
/ 27 ноября 2010

Обычные программы, такие как gcc, rm, cp и т. Д., Похоже, следуют шаблону, сообщая о своих ошибках, как это:

программа: ошибка

Например:

$ gcc
gcc: no input files

Есть ли какая-нибудь стандартная функция или макрос, который мне следует вызывать из моих собственных программ на C, чтобы сообщать об ошибках стандартным способом?

Ответы [ 3 ]

2 голосов
/ 27 ноября 2010

Если вы не знаете perror и strerror (и т. Д.), О них стоит знать.Они не универсальны в любом случае, но могут быть полезны по крайней мере при некоторых обстоятельствах.

2 голосов
/ 27 ноября 2010

Это восходит к самым ранним дням программирования Unix. Всегда рекомендовалось, чтобы к сообщениям об ошибках добавлялся префикс по имени генерирующей их команды, не в последнюю очередь, чтобы при возникновении ошибок в конвейере команд вы могли определить, какая из различных команд сгенерировала сообщение об ошибке. Стиль можно увидеть в K & R 1st Edition, в некоторых примерах программ (не совсем во всех), а также в «Программных средствах» Kernighan & Plauger и в «Среде программирования UNIX» Kernighan & Pike.

Не существует полностью стандартных инструментов - функций или макросов - для таких сообщений об ошибках. (У меня есть обширный и полный набор функций отчетов об ошибках, которые печатают имя программы перед сообщением.)

2 голосов
/ 27 ноября 2010

Нет макросов (о которых я знаю).Но вот соответствующий стандарт для форматирования ошибок вывода.

...