使用mpirun在终端上未显示新行字符

时间:2014-07-11 10:57:25

标签: c mpi

因为这是我第一次在这里提问(并且作为一个不流利的英语发言人),如果你告诉我,如果我写错了我的问题,我会感激不尽。< / p>

当我使用mpirun时,无论我使用它的方式,都不会在终端上打印换行符(\ n)(虽然我不使用mpirun但它可以工作)。它似乎被空格字符(ASCII 32)替换。

如果你还没有,这可能会帮助每个人找出问题:

printf("tried newline\nend of text");

将打印

tried newline end of text

如果我使用以下功能,将打印相同的内容:

puts("tried newline\nend of text");

fprintf(stdout, "tried newline\nend of text");

printf("tried newline");
putchar(10);
printf("end of text");

char[]n = "tried newline\nend of text";
printf("%s", n);

当然,在使用它们之前,我写了这篇文章是为了让每行写一行:

int rank;
MPI_Comm_rank(MPI_COMM_WORLD, &rank);
if(!rank) //with brackets when need

这仅适用于控制台。如果我写

fprintf(stderr, "tried newline\nend of text");

新行将打印在我的错误文件中。

由于MPI和Eclipse(我的IDE)之间存在一些兼容性问题,我不得不使用交叉GCC而不是Linux GCC。我不认为这很重要,因为如果我使用交叉GCC进行非并行相关程序,它可以正常工作。

有人遇到过这样的问题吗?有没有办法解决这个问题?

0 个答案:

没有答案