我有一个需要打印到文件的 MPI 进程。MPI 系统使用像 MPI_File_iwrite 这样的功能命令,它接受一个缓冲区(例如一个字符指针)和一个整数长度。然后,缓冲区被打印到文件中。
因此,为了打印我需要打印到文件的内容,我需要以某种方式将 printf 函数替换为将格式转换映射到 char * 缓冲区的函数。这是有问题的,因为字符串的长度可能会有所不同......例如:
printf("something %d, %d, %d, %f, etc.",x,y,z,p,d,...);
如何恢复 printf 格式化产生的字符串,找出长度,并将其作为 char * 传递给 mpi 函数?