C-使用自定义文件名创建新文件
我想用自定义文件名创建新文件。我使用此函数来执行此任务:C-使用自定义文件名创建新文件,c,large-file-support,C,Large File Support,我想用自定义文件名创建新文件。我使用此函数来执行此任务: int addfile(char* name)//return 0 if cannot create file { FILE* fn = fopen(name, "r"); if(fn == NULL) { return 0; } fclose(fn); addtotab(name, 0); return 1; } 不幸的是,fn变量始终为nul
int addfile(char* name)//return 0 if cannot create file
{
FILE* fn = fopen(name, "r");
if(fn == NULL)
{
return 0;
}
fclose(fn);
addtotab(name, 0);
return 1;
}
不幸的是,fn变量始终为null ptr,因此它的早期返回值为0。有什么比使用fopen更好的方法吗?你应该改变
FILE* fn = fopen(name, "r");
在
根据。上的文档,您认为r为什么会创建一个新文件?请查看本页顶部的模式表,如果不存在,请选择一个将创建该文件的模式。好吧,我很笨,没听清楚,我在这里放了r expect w,谢谢你的帮助使用fopen没有技术上的错误,假设你以正确的模式打开它。fopen的一个小问题是,它为缓冲IO设置了一个缓冲区。这通常是一件好事,可以让您轻松地执行高效的读/写操作。但是,由于关闭文件时不进行读/写操作,因此不需要任何缓冲,因此使用较低级别的打开/关闭可能会有点效率。这是一个小小的吹毛求疵,我写这篇文章只是因为你要求一个更好的方法。
FILE* fn = fopen(name, "w");