c语言删除文件函数的原理 c语言如何删除文件
如何用c语言实现删除文件中指定的数据;例如
1、首先我们输入【deleteScore】函数,先看整体代码,再一一解释。
目前成都创新互联已为1000+的企业提供了网站建设、域名、虚拟空间、网站托管运营、企业网站设计、南乐网站维护等服务,公司将坚持客户导向、应用为本的策略,正道将秉承"和谐、参与、激情"的文化,与客户和合作伙伴齐心协力一起成长,共同发展。
2、在接下来我们输入永久循环语句。
3、再接下来,我们选择操作删除的方式。
4、再接下来我们就可以调用删除的函数了。
注意事项:
C语言提供了许多低级处理的功能,并仍然保持着跨平台的特性,以一个标准规格写出的C语言程序可在包括类似嵌入式处理器以及超级计算机等作业平台的许多计算机平台上进行编译。
c语言删除原理
我们编译出来的程序运行时是和操作系统打交道的,程序中用到的内存都向操作系统 其实我们完全留意到,向磁盘写东西的时候很慢,但把写进了的东西删掉的时候却快
要看系统是用什么来存这些信息的,如果用是数据库,那就是用sql语句删除.如果只是简单的文件读写,那是先把学生全部信息读进来,可能放到一个vector list map这些容器中,然后进去删除,再然再把它们写回文件去.
#include "stdio.h"#define maxlen 100 typedef struct{ //定义结构体 int data[100]; int last+1)) //判读删除的位置是否合法 { printf("参数出错!"); } else{ //删除的位
head是头指针,p1是指向第一个结点的指针,p2是指向p1 首先对单向链表的删除要考虑以下4种情况:1.链表本身是空的2.删除的是链表的首结
delete是和new一起使用的,如果要使用delete的话意味意着你前面创建链表的时候有使用new创建每一个节点.如果前面没有new的话后面就不能使用delete.
存储在硬盘中的每个文件都可分为两部分:文件头和存储数据的数据区.文件头用来 都没有将数据从数据区直接删除. 由文件删除的原理可知,要彻底删除数据,只有把
程序自删除的方式有很多,不过最终的思想不过是关闭本身进程,开启新进程用于删除自身.下面这个方法是用windows自带命令行程序实现删除.命令行为 cmd.exe /c
不用链表就用数组a[],记录条数为n假设删除a[i],就把从i+1向后到n的所有记录向前移一位修改直接改就是了
Person * del(Person * head,int a){//查找并删除结点 Person *p,*temp; p=head; while(p!=NULL||(p-next)!=NULL){ //这个判断条件可能为真吗?两边需要都为假,即p ==
用remove函数功 能: 删除一个文件 用 法: int remove( const char *filename);头文件:在Visual C++ 6.0中可以用stdio.h返回值:如果删除成功,remove返回0,否则返回EOF(-1).
C语言中删除一个txt文件
你试试看这个程序,我先创建一个文件,然后关闭以后删除这个文件,在vc里面通过运行了,而且我也找不到这个文件了,你试试看
#include stdlib.h
#include stdio.h
int main(void)
{
FILE *file;
file=fopen("1.txt","w");
fclose(file);
system("del 1.txt");
return 0;
}
你看看你之前运行的程序都关干净了么,你把你具体程序发出来饿,这样截一段怎么看。就光我这几句语句的话我vc6。0运行以后是没有文件的了
c语言怎样删除文件
首先要说明的是这里并不是指删除C编译器里面的文件,呵呵,如果只是要删除那些文件的话,那就很简单,直接选中文件后按delete键就可以删除了,但是我们删除那些文件干嘛?我们还要用它写程序啊,呵呵。我在这里要说的是,怎样使用C语言编写程序来删除文件。
在C语言中,我们可以使用remove()函数来删除指定的文件,具体语法为:
Int remove(char *filename);其中filename是一个指向字符串的指针,该字符串可以组成有效的文件名,也可以包含路径说明。如果我们要删除D盘下的ABC.txt文件,我们就可以这样写:remove(“D:\ABC.txt”);
c语言 删除指定文件
C语言删除指定文件或目录,参考代码如下:
#include stdio.h
#include stdlib.h
#include string.h
#include io.h
#include direct.h
#include errno.h
//判断是否是".."目录和"."目录
inline bool is_special_dir(const char *path)
{
return strcmp(path, "..") == 0 || strcmp(path, ".") == 0;
}
//判断文件属性是目录还是文件
inline bool is_dir(int attrib)
{
return attrib == 16 || attrib == 18 || attrib == 20;
}
//显示删除失败原因
inline void show_error(const char *file_name = NULL)
{
errno_t err;
_get_errno(err);
switch(err)
{
case ENOTEMPTY:
printf("Given path is not a directory, the directory is not empty, or the directory is either the current working directory or the root directory.\n");
break;
case ENOENT:
printf("Path is invalid.\n");
break;
case EACCES:
printf("%s had been opend by some application, can't delete.\n", file_name);
break;
}
}
inline void get_file_path(const char *path, const char *file_name, char *file_path)
{
strcpy_s(file_path, sizeof(char) * _MAX_PATH, path);
file_path[strlen(file_path) - 1] = '\0';
strcat_s(file_path, sizeof(char) * _MAX_PATH, file_name);
strcat_s(file_path, sizeof(char) * _MAX_PATH, "\\*");
}
//递归搜索目录中文件并删除
inline void delete_file(char *path)
{
_finddata_t dir_info;
_finddata_t file_info;
intptr_t f_handle;
char tmp_path[_MAX_PATH];
if((f_handle = _findfirst(path, dir_info)) != -1)
{
while(_findnext(f_handle, file_info) == 0)
{
if(is_special_dir(file_info.name))
continue;
if(is_dir(file_info.attrib))//如果是目录,生成完整的路径
{
get_file_path(path, file_info.name, tmp_path);
delete_file(tmp_path);//开始递归删除目录中的内容
tmp_path[strlen(tmp_path) - 2] = '\0';
if(file_info.attrib == 20)
printf("This is system file, can't delete!\n");
else
{
//删除空目录,必须在递归返回前调用_findclose,否则无法删除目录
if(_rmdir(tmp_path) == -1)
{
show_error();//目录非空则会显示出错原因
}
}
}
else
{
strcpy_s(tmp_path, path);
tmp_path[strlen(tmp_path) - 1] = '\0';
strcat_s(tmp_path, file_info.name);//生成完整的文件路径
if(remove(tmp_path) == -1)
{
show_error(file_info.name);
}
}
}
_findclose(f_handle);//关闭打开的文件句柄,并释放关联资源,否则无法删除空目录
}
else
{
show_error();//若路径不存在,显示错误信息
}
}
int main(int argc, char **argv)
{
delete_file("C:\\Documents and Settings\\Administrator\\Local Settings\\Temporary Internet Files\\*");
system("pause");
return 0;
}
本文名称:c语言删除文件函数的原理 c语言如何删除文件
网页地址:http://ybzwz.com/article/doogcdc.html