问题:
.net框架是否有免费的printf/sprintf实现?除了以上链接,我找不到任何东西.
谢谢!
更新:
感谢您的帮助,即使您找不到任何东西.这意味着我必须自己做(我试图避免它,但是很好......)
我制作了一个支持基本格式字符串的sprintf函数,你可以在这里找到它:https:// sourceforge. net/projects/printfnet /.如果可以的话,我会尝试让它成为一个完整的实现.
我有一段代码,它根据C#编译器和运行时输出不同的结果.
有问题的代码是:
using System;
public class Program {
public static void Main() {
Console.WriteLine(string.Compare("alo\0alo\0", "alo\0alo\0\0", false, System.Globalization.CultureInfo.InvariantCulture));
}
}
Run Code Online (Sandbox Code Playgroud)
结果是:
Compiling with mono (gmcs) Compiling with .Net (csc)
Running with mono -1 -1
Running with .Net -1 0
Run Code Online (Sandbox Code Playgroud)
当使用.Net框架运行时,它如何输出不同的值?
(顺便说一句,根据http://msdn.microsoft.com/en-us/library/system.string.aspx,输出应该是0,所以mono的答案是不正确的,但这与我的问题无关.)
甚至生成的IL代码也(几乎)相同.
用.Net编译:
.method public hidebysig static void Main() cil managed
{
.entrypoint
// Code size 29 (0x1d)
.maxstack 8
IL_0000: nop
IL_0001: ldstr bytearray (61 00 6C 00 6F 00 00 00 61 00 6C 00 6F 00 …Run Code Online (Sandbox Code Playgroud) 检查套接字是否在连接的远程端关闭的最简单方法是什么?socket::is_open()即使它在远程端关闭(我正在使用boost::asio::ip::tcp::socket),它也会返回true .
我可以尝试从流中读取并查看它是否成功,但我必须更改程序的逻辑以使其以这种方式工作(我不希望在检查时从流中提取数据).