gpt4 book ai didi

创建新文件,其名称取决于程序中的变量

转载 作者:行者123 更新时间:2023-11-30 21:03:21 24 4
gpt4 key购买 nike

我正在尝试编写一个程序来保存“X”个简单文本文件 - 但是,X 在程序运行后由用户确定。我似乎在网上找不到任何关于如何解决以下两件事的帮助,因此任何提示将不胜感激!

1) 如果我不知道有多少个文本文件,如何在程序开始时声明这些文本文件?

  • 到目前为止,我习惯使用:

    FILE* outfile;
  • 但我真正需要的是:

    FILE* outfile_0, outfile_1, outfile_2... outfile_X;
  • 我想到的解决方案看起来像一个循环,但我知道这行不通!

    for (i=0;I<X;i++){
    FILE* outfile_i // obviously, this just literally calls it "outfile_i"
    }

2)我如何命名它们?

  • 我想称它们为简单的名称,例如“textfile_1、textfile_2”等,但我不知道如何使用:

    outfile=fopen("C:\\textfile.txt","w");
  • 我再次想到也许可以创建一个循环(?!),但我知道这行不通:

    for(i=0;i<X;i++){
    outfile_i=fopen("C:\\textfile_i.txt","w");
    }

在运行程序之前绝对无法知道变量“X”是什么。

编辑:问题已解决 - 我不知道您可以创建“FILE*”数组,感谢您的所有帮助!

最佳答案

类似的东西应该可以工作,但需要错误处理和关闭/释放操作。

FILE **outfile = malloc(sizeof(FILE*) * X);
for(i=0;i<X;i++){
char buffer[1024];
sprintf(buffer, "%s_%d.txt", "textfile", i);
outfile[i] = fopen(buffer, "w");
}

关于创建新文件,其名称取决于程序中的变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25403280/

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