【发布时间】:2013-08-15 23:17:12
【问题描述】:
我已经使用fprintf 有一段时间了,我想问一个问题。相当于这个fprintf 行:
fprintf(OutputFile, "%s", "SomeStringValue");
使用ofstream ?
如何使用ofstream 中的“%s”是我真正想知道的。如何获取下一个参数并将其打印为字符串?
【问题讨论】:
-
类似于
os << "SomeStringValue";,其中os是正确打开的std::ofstream。 -
这真的与
string的考虑删除该标签无关。 -
当你真的需要依赖非平凡的 printf 风格的字符串时,你可以使用
snprintf来构建字符串,然后将其输出到你的流中。 -
实际上,当整个格式字符串为
"%s"或者更好的是fputs("SomeStringValue", OuputFile);时,您应该使用fprintf(OutputFile, "SomeStringValue");而不是您的方法,因为这样可以避免解析格式说明符的字符串。跨度> -
@DietmarKühl:混合 C 风格的
FILE流和 C++ I/O 流能否保证提供一致的输出?