Происхождение форматирования строк в стиле sprintf - PullRequest
5 голосов
/ 17 октября 2008

Концепцию форматирования строки, найденную в sprintf , можно найти сегодня практически на любом языке (вы знаете, задушить строку с% s% d% f и т. Д. И предоставить список переменных заполните свои места) .

Какой язык изначально имел библиотечную функцию или языковую конструкцию, обеспечивающую эту функцию?

Пожалуйста, укажите какую-либо ссылку на источник, чтобы подтвердить ваше утверждение, чтобы мы не допускали спекуляций или догадок.

Привет

Роберт

Ответы [ 2 ]

7 голосов
/ 17 октября 2008

Википедия имеет довольно полную историю. Предполагается, что функция C printf возникла из функции writef BCPL.

5 голосов
/ 17 октября 2008

Я бы сказал, что все они берут свое начало от BCPL. Мы использовали BCPL для программирования операционных систем для процессора 6809 два десятилетия назад, и он имел функцию writef(), которая принимала аргументы, такие как %i2 (эквивалент C * %2d).

C был основан на урезанной версии BCPL и унаследовал аналогичный механизм для форматирования вывода, и я вполне уверен, что все остальные экземпляры извлекли его из C после этого.

Я могу ошибаться, это будет не первый или последний раз, но я уверен, что это правильно, учитывая то, что я знаю о языке BCPL и его происхождении.

...