C 使用MPI文件写入的格式化输出?

C 使用MPI文件写入的格式化输出?,c,parallel-processing,mpi,openmpi,mpi-io,C,Parallel Processing,Mpi,Openmpi,Mpi Io,我正在尝试用MPI编写一个并行IO程序,我需要将数据写入文件,格式为:02 03 04,而不是2 3 4 fprintf(fpOut,"%.2d ",var); 将是我正在尝试做的一系列对应的事情。我环顾四周,但至今找不到任何答案。你知道我该怎么做吗?MPI\u IO写二进制数据(vs文本/格式化数据) 所以,如果你真的想并行写,你可以使用一个中间缓冲区,然后写它,例如 char buf[4]; sprintf(buf, "%.2d ", var); MPI_File_write_at(buf

我正在尝试用MPI编写一个并行IO程序,我需要将数据写入文件,格式为:
02 03 04
,而不是
2 3 4

fprintf(fpOut,"%.2d ",var);

将是我正在尝试做的一系列对应的事情。我环顾四周,但至今找不到任何答案。你知道我该怎么做吗?

MPI\u IO
写二进制数据(vs文本/格式化数据)

所以,如果你真的想并行写,你可以使用一个中间缓冲区,然后写它,例如

char buf[4];
sprintf(buf, "%.2d ", var);
MPI_File_write_at(buf, 3, MPI_CHAR, ...);
话虽如此,您可能需要重新考虑您的工作流程:

  • 一种选择是开始到处使用二进制数据(并并行写入)
  • 另一种选择是以二进制和并行方式写入中间数据,最后对其进行后处理(非并行)以将其“转换”为纯文本