问题
这是违法的代码
/*we ignore file size for char/block devices, sockets etc*/
if(S_ISREG(fileinfo.st_mode))
uploadfilesize= fileinfo.st_size;
}
Run Code Online (Sandbox Code Playgroud)
它会导致错误
error LNK2019: unresolved external symbol _S_ISREG referenced in function _operate file tool_operate.obj
Run Code Online (Sandbox Code Playgroud)
它们在以下问题中引用
显然,S_ISREG()是一堆posix宏的一部分,显然应该告诉我们文件是否是"常规文件",但我发现的所有示例都有特定于linux的包含文件.
这样
为什么fopen("any_path_name","r")不返回NULL作为返回?
我知道在linux目录和文件被认为是文件.所以当我在fopen中使用read模式给出任何目录路径或文件路径时,它不会给出NULL文件描述符和?
那我怎么能检查它是否是dirctory路径或文件路径?如果我从命令参数获得一些路径?
我想删除c程序中的文件.假设该文件位于源文件的当前目录中.我搜索了很多,但没有得到任何解决方案.每个人都建议使用remove()功能.
这是我的源代码:
#include <stdio.h>
#include <stdlib.h>
int main()
{
FILE *fp;
int delete_status;
char del[50];
printf("Enter a file name to delete it: ");
gets(del);
delete_status = remove(del);
if(delete_status!=0) {
printf("File can not be deleted!\nFile does not exist in current directory\n");
}
else printf("File %s has been deleted successfully!\n", del);
return 0;
}
Run Code Online (Sandbox Code Playgroud)
有没有办法在不使用remove()函数的情况下删除文件.我想手动编码而不使用任何其他stl内置函数.
我正在寻找一个关于如何在C中将文件从一个目录复制到另一个目录的简单示例.该程序应该只使用C本机的跨平台函数.