gpt4 book ai didi

c - 如何为C中的每个文件起一个唯一的名称?

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

你今天怎么样。我有一个关于文件名处理的问题:D。我的代码不想工作,它给了我错误的分段

这个想法是创建唯一的文件名,并在如果同名文件已存在的情况下创建它。第一个是没有文件的异常,因此 for 循环从 1 而不是 0 开始。

需要unistd.h!

char fileName[15][100];
sprintf(fileName[0],"output.txt");
FILE *output;

for(int i = 1 ;i < 100; i++){
sprintf(fileName[i],"Output%d.txt",i+1);

//File exists
if(!access(fileName[i],F_OK))
{
//Create and open a file
output = fopen(fileName[i], "w");
break;
}
}

我只需要创建一个 try 函数(比如 while),直到找到未被占用的名称。我只是将 for 循环放在那里,将限制限制为 100。

最佳答案

你必须为字符串分配内存。

示例

char** fileName;
int Number_Of_Strings, String_Length, i;
fileName = malloc(Number_Of_Strings * sizeof(char*));

for ( i = 0; i < Number_Of_String; i++) // For each string
fileName = malloc(String_Length * sizeof(char));

Number_If_Strings:您需要多少个字符串?String_Length :每个字符串的长度

关于c - 如何为C中的每个文件起一个唯一的名称?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34048104/

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