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

How to print a long string using std::fprintf()?

本文关键字:一个 字符串 打印 fprintf 何使用 std      更新时间:2023-10-16

我有一个大小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]''

您应该改用ofstream。假设您已成功初始化了ofstream m_file,您可以做:

m_file.write(msg, 1024)
相关文章: