今天过得如何。我有一个关于文件名处理的问题:D。我的代码不想工作,它给我虚假分割。如何为C中的每个文件创建一个唯一的名称?
的想法是让唯一的文件名,它如果的同名文件已经存在创建。首先是没有文件的例外,所以for循环从1开始,而不是从0开始。
unistd.h is required!
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;
}
}
我只是需要做一个尝试的功能(如一段时间),直到它找到它不采取名字。我只是把那里的for循环限制到100.
那么你的问题是什么? – owacoder
*“如果**具有相同名称的文件已存在,则创建**”。*如果该名称的文件已存在,则它不是唯一的。 –
你真的需要阅读指针。 '&文件名[I]'?你不断用新的东西覆盖你的'fileName'字符串的一部分。 'fileName是一个字符串,而不是一个字符串数组。 'fileName [i]'没有意义 –