检查文件是否存在(由命令行参数给出)

Req*_*iem 5 c unix

我必须使用unix环境做一个C程序.我已经购买了"在Unix环境中推进编程"一书,到目前为止已经帮了很多忙.但是,我的一些问题没有得到答复,我正在寻求一些帮助.

我正在尝试编写一个程序,可以验证是否存在复制程序时输入的第一个和第二个参数.如果第一个参数不存在,则必须出现错误消息并退出.如果第二个参数确实存在,则必须显示覆盖提示.我不确定如何验证文件是否已经存在或基本上没有.

我见过一些人说你可以做(​​!-e)或类似的东西来验证文件是否存在.

如果有人能帮助我,我真的很感激.

Sco*_*ter 9

访问()函数的设计文件是否存在(或者是可读,可写或可执行文件)来告诉你.

#include <unistd.h>
int result;
const char *filename = "/tmp/myfile";
result = access (filename, F_OK); // F_OK tests existence also (R_OK,W_OK,X_OK).
                                  //            for readable, writeable, executable
if ( result == 0 )
{
   printf("%s exists!!\n",filename);
}
else
{
   printf("ERROR: %s doesn't exist!\n",filename);
}
Run Code Online (Sandbox Code Playgroud)