是否有针对.net的printf的免费实现?

时间:2010-03-01 21:07:31

标签: c# .net vb.net printf

问题:

.net框架是否有免费的printf / sprintf实现?除了以上链接,我找不到任何东西。

谢谢!

更新

感谢您的帮助,即使您找不到任何东西。这意味着我必须自己做(我试图避免它,但哦,好吧......)
我编写了一个支持基本格式字符串的sprintf函数,你可以在这里找到它:https://sourceforge.net/projects/printfnet/。如果可以的话,我会尝试将其作为一个完整的实现。

3 个答案:

答案 0 :(得分:4)

我想你想要这个:http://www.codeproject.com/KB/printing/PrintfImplementationinCS.aspx

它是C#的C printf函数端口的免费实现。您应该知道作者指出并非目前支持printf的所有功能 - 但这可能是一个很好的起点。

编辑:我看到该版本的许可证与您需要的版本不兼容 - 在这种情况下,我绝对建议您直接调用非托管版本,如以下博客文章所述。这可能是最兼容和最安全的事情。

如果不能删除它,这里有一篇关于实际调用非托管printf函数的博客文章:

http://community.bartdesmet.net/blogs/bart/archive/2006/09/28/4473.aspx

看起来这就是从C#调用非托管printf所需的全部内容:

[DllImport("msvcrt40.dll")]
public static extern int printf(string format, __arglist);

static void Main(string[] args)
{
   printf("Hello %s!\n", __arglist("Bart"));
}

答案 1 :(得分:4)

为什么不找到用C编写的printf的GPL兼容实现并将其移植到.NET?

答案 2 :(得分:2)

托管C ++包装器怎么样?很确定你可以从那里打电话给printf。