Проблемы:
Существует ли бесплатная реализация printf/sprintf для платформы .NET? Кроме вышеупомянутой ссылки, я ничего не мог найти.
Спасибо!
Обновление:
Спасибо за справку, даже при том, что Вы ничего не могли найти. Это означает, что я должен буду просто сделать это сам (я старался избегать его, но о хорошо...),
Я приготовил функцию sprintf, которая поддерживает основные строки формата, можно найти его здесь: https://sourceforge.net/projects/printfnet/. Я попытаюсь сделать это полноценным внедрением, если я могу.
Как насчет управляемой оболочки C ++? Совершенно уверен, что вы можете вызвать printf оттуда.
Почему вы не можете найти GPL-совместимую реализацию printf
написано на C и перенести его на .NET?
Думаю, вам нужно следующее: http://www.codeproject.com/KB/printing/PrintfImplementationinCS.aspx
Это бесплатная реализация порта функции C printf
в C #. Вы должны знать, что автор указывает, что не все функции printf
в настоящее время поддерживаются, но это может быть хорошей отправной точкой.
РЕДАКТИРОВАТЬ: Я вижу, что лицензия для этой версии несовместима с тем, что вам нужно - в этом случае я определенно рекомендую обратиться к вызову неуправляемой версии напрямую, как обсуждается в следующей статье блога. Вероятно, это наиболее совместимый и безопасный вариант.
Если это вас не устраивает, вот статья в блоге о фактическом вызове неуправляемой функции printf
:
http://community.bartdesmet.net/blogs/bart/archive/2006/ 09/28 / 4473.aspx
Похоже, это все, что вам нужно для вызова неуправляемого printf
из C #:
[DllImport("msvcrt40.dll")]
public static extern int printf(string format, __arglist);
static void Main(string[] args)
{
printf("Hello %s!\n", __arglist("Bart"));
}