gpt4 book ai didi

c - mpich 不写入文件

转载 作者:行者123 更新时间:2023-11-30 17:02:57 26 4
gpt4 key购买 nike

我试图仅使用进程 0 写入文件,但该文件甚至没有在目录中创建,如果我在没有 mpich 的情况下运行它,它运行良好(并且该文件是在项目目录中创建的,因为它应该是),但当我使用 mpich 运行时则不然。

我不需要并行文件 io,但我确实需要并行一些其他代码,并且我确实需要使用 files ,因此我为此使用进程 0。

这是一个测试代码:

void main(int argc, char *argv[])
{

MPI_Init(&argc, &argv);
int numOfProcs, myid, j;
MPI_Comm_rank(MPI_COMM_WORLD, &myid);
MPI_Comm_size(MPI_COMM_WORLD, &numOfProcs);
MPI_Status status;

if (myid==0)
{
FILE* f = fopen("wee.txt","w");

printf("address = %p",f);

fprintf(f, "ee");
fclose(f);
printf("file creation done\n");
}
MPI_Finalize();

}//END of main

该文件确实打开并返回一个地址,我搜索过它可能会在不同的目录中创建它,但找不到它。

代码返回的地址示例:00007FFB40537500

我确实收到了消息:“文件创建完成”

该文件在该文件夹中不存在

编辑:我正在使用管理员帐户运行,项目位于系统磁盘中(不在程序文件中,仅在 c 和项目文件夹中)

最佳答案

无论文件是否创建,您都会收到该消息。这样做:

  if (myid==0) {
FILE* f = fopen("wee.txt","w");
if(f == NULL) {
printf("File did NOT open\n");
return -1;
}
fprintf(f, "ee");
fclose(f);
printf("file creation done\n");
}

也请阅读此内容:What should main() return in C and C++?

关于c - mpich 不写入文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36330040/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com