繁体   English   中英

如何使用std :: fprintf()打印长字符串?

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM