gpt4 book ai didi

每次在c中运行程序时创建一个新文件

转载 作者:行者123 更新时间:2023-11-30 20:42:23 25 4
gpt4 key购买 nike

我正在创建一个程序,将调查问卷的结果写入 .txt 文件,并想知道是否有任何方法可以在每次运行该程序时使用新名称创建一个新文件?

 FILE *fp;
fp = fopen("results.txt","w");

如何将文件results.txt每次保存为不同的名称?

所以我完成了下面的操作,让用户保存其结果的名称。

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

printf("Please enter a filename to save your results to\n");

char c;
FILE *fp;

if (argc >= 2){
fp = fopen(argv[1], "w");}

while ((c = getchar()) != EOF)
{
putc(c, fp);
}

但我遇到了核心错误。

最佳答案

使用专门用于此目的的标准 C 函数。

7.21.4.4 The tmpnam function

#include <stdio.h>
char *tmpnam(char *s);

The tmpnam function generates a string that is a valid file name and that is not the same as the name of an existing file.

值得注意的是,该函数系列存在一些由 CERT-C here 解决的安全问题。 。 C11 提供了称为 tmpfile_s 和 tmpnam_s 的更安全版本,作为可选边界检查接口(interface)的一部分。但是,如果您的初级问卷调查程序不需要针对黑客的商业生产质量保护,那么这不应该是一个问题。

关于每次在c中运行程序时创建一个新文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49794141/

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