MPI_IO
записывает двоичные данные (против текстовых / отформатированных данных).
Поэтому, если вы действительно хотите записывать параллельно, вы можете использовать промежуточный буфер, а затем записать его, например,
char buf[4];
sprintf(buf, "%.2d ", var);
MPI_File_write_at(buf, 3, MPI_CHAR, ...);
При этом, возможно, вы захотите пересмотреть свой рабочий процесс:
- один из вариантов - начать везде использовать двоичные данные (и записывать параллельно)
- другой вариант заключается в том, чтобы записать промежуточные данные в двоичном и параллельном режиме и, наконец, опубликовать их (не параллельно), чтобы «преобразовать» их в простой текст.