文件删除和改名
int remove(const char *pathname);
int rename(const char *oldpath,const char *newpath);
remove函数删除pathname指向的文件名
rename函数修改文件名称
执行成功返回0,失败返回-1,错误代码保存在变量errno中。
//remove()函数和rename()
#include
#include
#include <string.h>
#include
{if (arg <1){printf("请输入一个参数&#xff01;\n");return 0;}//rename file//int eno&#61;rename(args[1],args[2]);//remove file/*remove()函数头文件是stdio.h*/int eno&#61;remove(args[1]);if (eno &#61;&#61; -1){printf("error msg:%s\n", strerror(errno));return 0;}return 0;
}
//程序日志代码
#include
#include
#include <string.h>
#include
#include
void WriteLog(char * msg)
{if(msg&#61;&#61;NULL){printf("msg is NULL!\n");return;}if(strlen(msg)>1000){printf("message is too long!");return;}/*time_t是一个数字类型&#xff0c;一般用来描述时间 例如tData&#61;1471933520;这个时间不是很直观&#xff0c;通常需要转化成人类熟悉的时间格式*/time_t tDate;//获取当前系统时间time(&tDate);//一种时间结构体struct tm *eventTime;//将time_t类型转化成struct tm *结构体指针类型eventTime&#61;localtime(&tDate);//tm_year表示年份&#xff0c;以1900为标准&#xff0c;1900的值是0,1901的值是1int iyear&#61;eventTime->tm_year&#43;1900;//tm_mon表示月份&#xff0c;从0开始到11结束&#xff0c;按照通常习惯应该从1月份开始int imon&#61;eventTime->tm_mon&#43;1;//tm_wday:表示一个星期的第几天 从1开始7结束//tm_yday:表示一年的第几天//tm_mday:表示正常的月天数int iday&#61;eventTime->tm_mday;int ihour&#61;eventTime->tm_hour;int imin&#61;eventTime->tm_min;int isec&#61;eventTime->tm_sec;//拼接年月日char sdate[11]&#61;{0};//强调&#xff1a;为什么sdate数组的大小是11而不是10&#xff0c;应为字符串最后必须是&#39;\0&#39;//%04d&#xff1a;右对齐 4位 不足补0sprintf(sdate,"%04d-%02d-%02d",iyear,imon,iday);//拼接时间char stime[9]&#61;{0};sprintf(stime,"%02d:%02d:%02d",ihour,imin,isec);//拼接信息字符串char smsg[1024]&#61;{0};sprintf(smsg,"%s %s\n\t%s\n",sdate,stime,msg);//open fileFILE * pf&#61;fopen("mylog.txt","a");if(pf&#61;&#61;NULL){printf("error msg:%s\n",strerror(errno));return ;}//write file
fputs(smsg,pf);//close file stream
fclose(pf);
}int main(int arg, char * args[])
{WriteLog("this id bug!");return 0;
}