我在C++工作.
我想用sprintf编写一个可能很长的格式化字符串(特别是像_snprintf_s这样的安全计数版本,但想法是一样的).在编译时大致的长度是未知的,所以我将不得不使用一些动态分配的内存而不是依赖一个大的静态缓冲区.有没有办法确定特定sprintf调用需要多少个字符,所以我总能确定我有足够大的缓冲区?
我的后备是我只需要格式字符串的长度,加倍它,并尝试.如果它工作,很好,如果不是,我只会加倍缓冲区的大小,然后再试一次.重复直到它适合.不完全是最聪明的解决方案.
看起来C99支持将NULL传递给snprintf来获取长度.我想我可以创建一个模块来包装该功能,如果没有别的,但我对这个想法不是很疯狂.
也许对"/ dev/null"/"nul"的fprintf可能会起作用吗?还有其他想法吗?
编辑:或者,是否有任何方法可以"spunk"sprintf所以它在中间写入?如果可能的话,它可以填充缓冲区,处理它,然后从它停止的地方开始重新填充.
在PC开发方面(不包括Xbox和Zune),
XNA和C#DirectX有什么区别?C#DirectX是否比XNA具有明显的优势(在速度,版税等方面)?
这两者与速度非托管C++ DirectX相比如何?
游戏编程方面的行业在哪里发展?
我目前有一个PHP脚本,可以读取手机发送的电子邮件,然后将它们发布到互联网上...
我想做同样的事情,但我想通过短信处理数据,而不是阅读电子邮件.
所以,如果有人发送短信到X号码,我的程序将通过这个X号码获取消息并在网站中使用它.
我需要什么?
我正在尝试为XPath创建一个'AET'(抽象表达式树)(因为我正在编写一个WYSIWYG XSL编辑器).在过去的三到四个小时里,我一直用XPath BNF撞墙.
我想到了另一个解决方案.我想我可以编写一个实现IXPathNavigable的类,它在调用CreateNavigator时返回我自己的XPathNavigator.这个XPathNavigator总是会在任何方法调用上成功,并会跟踪这些调用 - 例如我们移动到客户节点,然后移动到客户节点.然后我可以使用这些信息(希望)来创建'AET'(因此我们现在可以在对象模型中拥有客户/客户).
唯一的问题是:如何在地球上我通过XPathExpression运行IXPathNavigable?
我知道这太懒了.但是有没有其他人经历过努力并编写了一个XPath表达式解析器?我还没有POC我可能的解决方案,因为我无法测试它(因为我无法对IXPathNavigable运行XPathExpression),所以我甚至不知道我的解决方案是否能够正常工作.
我用C++编程已经有一段时间了,来自python之后,我穿着直筒夹克感觉太棒了,好吧,我不会咆哮.
我有几个函数充当"管道",接受列表作为输入,返回另一个列表作为输出(基于输入),
这是概念,但在实践中,我std::vector用来表示列表,这是可以接受的吗?
更进一步,我没有使用任何指针,所以我std::vector<SomeType> the_list(some_size);用作变量,并直接返回,即return the_list;
PS到目前为止一切都还好,项目大小很小,这似乎并没有影响性能,但我仍然希望得到一些输入/建议,因为我觉得我在用C++编写python.
如何按两列对MySQL表进行排序?
我想要的是按最高评分排序的文章,然后是最近的日期.作为一个例子,这将是一个示例输出(左#是评级,然后是文章标题,然后是文章日期)
50 | This article rocks | Feb 4, 2009 35 | This article is pretty good | Feb 1, 2009 5 | This Article isn't so hot | Jan 25, 2009
我正在使用的相关SQL是:
ORDER BY article_rating, article_time DESC
Run Code Online (Sandbox Code Playgroud)
我可以按其中一种排序,但不能同时排序.
使用IOC容器会降低应用程序的速度,因为大多数都使用了引擎盖下的反射.它们还会使您的代码更难理解(?).光明的一面; 它们可以帮助您创建更松散耦合的应用程序,并使单元测试更容易.使用/不使用IOC容器还有其他优缺点吗?
我想知道我应该为所有东西编写单元测试.有些类很难编写单元测试.例如,我正在编写一些处理音频的程序.用于从麦克风捕获音频的类,以及用于播放音频到扬声器的类,如何为这些类编写单元测试?我无法获得这些类的输出和输入,因此几乎不可能测试它们?我唯一能做的测试就是吸气器和定位器,那些无聊的测试.所以问题是,编写单元测试的指导原则是什么?我应该如何处理这些类很难测试?