![](/img/trans.png)
[英]fprintf() / std::cout doesn't print part of the string to stdout/stderr
[英]How to print a long string using std::fprintf()?
我有一个大小为1024的字符串,我想使用std :: fprintf()打印它。 我尝试了以下方法:
FILE* m_file = .....;
char * msg = .....; // (size of 1024)
std::fprintf(m_file, "'%.1024s'\n", msg);
但是在输出文件中,我看到味精只能打印到1000的长度。
在文档中找不到任何相关内容,有人知道吗?
更新:
事实证明,在我们的管道中的某个地方,字符串被切成1000的大小,那是我在fprintf之后没有看到整个字符串
“我看到味精最多只能打印1000条。” -> "%.1024s"
最多打印字符串的长度或1024,以较小者为准。
显然m_file[1000]
是'\\0'
。
您应该改为使用ofstream
。 假设您已成功初始化了ofstream m_file
,则可以执行以下操作:
m_file.write(msg, 1024)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.