gpt4 book ai didi

在C中创建和写入多个txt文件

转载 作者:太空宇宙 更新时间:2023-11-04 05:51:37 25 4
gpt4 key购买 nike

我有一段代码可以在名为 (Nodes) 的目录中创建 j 个文件 (Node[j].ID),在这些 j 文件中,代码会写入 NodeResults 中包含的信息。目前代码既不创建也不写入文件,因为 strcat 函数不起作用。请知道如何更正代码以获得创建的文件,其中包含 NodeResults 中的信息?提前致谢。请在下面找到代码:

{

int period, j ;
FILE*temporal;
FILE* temp_time;
char path[25];
char* extention = ".txt";
char s[30];
char temporal2[25];
long time_val = 0;
_mkdir("Nodes");
_mkdir("time");


temp_time = fopen("Time/time.txt", "w");
fprintf(temp_time, "%d,%d\n", ReportStep, Nperiods);
fclose(temp_time);

for ( j = 0; j < Nobjects[NODE]; j++ ) {
/* File path writing */

strcpy(temporal2,"Nodes/");
strcat(temporal2, Node[j].ID);
strcat(temporal2, extention);

temporal= fopen(temporal2, "w");
}
for ( period = 1; period <= Nperiods; period++ ) {
output_readNodeResults(period, j);
fprintf(temporal, "%9.3f,%9.3f,%9.3f,%9.3f,%9.3f\n",
NodeResults[NODE_INFLOW],
NodeResults[NODE_OVERFLOW],
NodeResults[NODE_DEPTH],
//NodeResults[NODE_HEAD],
NodeResults[NODE_VOLUME]);
}
fclose(temporal);

return Nperiods;
}

最佳答案

您在第一个 for 循环中打开了一堆文件,但没有向它们写入任何内容。在每次迭代中,您将一个新的 FILE * 分配给变量 temporal,覆盖任何以前的值。之后,在您的第二个 for 循环中,您将一堆输出写入最后打开的文件 - temporal 在该点引用的文件。

看起来您想将第二个 for 循环的主体和 fclose() 移动到第一个 for 循环中。

关于在C中创建和写入多个txt文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40046664/

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