热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Linux文件管理(C语言库函数二程序日志)

文件删除和改名intremove(constchar*pathname);intrename(constchar*oldpath,constchar*newpath);rem

文件删除和改名
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
int main(int arg, char * args[])
{
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
//write log
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;
}

 



推荐阅读
  • c语言\n不换行,c语言printf不换行
    本文目录一览:1、C语言不换行输入2、c语言的 ... [详细]
  • 本文介绍了为什么要使用多进程处理TCP服务端,多进程的好处包括可靠性高和处理大量数据时速度快。然而,多进程不能共享进程空间,因此有一些变量不能共享。文章还提供了使用多进程实现TCP服务端的代码,并对代码进行了详细注释。 ... [详细]
  • 本文讨论了clone的fork与pthread_create创建线程的不同之处。进程是一个指令执行流及其执行环境,其执行环境是一个系统资源的集合。在调用系统调用fork创建一个进程时,子进程只是完全复制父进程的资源,这样得到的子进程独立于父进程,具有良好的并发性。但是二者之间的通讯需要通过专门的通讯机制,另外通过fork创建子进程系统开销很大。因此,在某些情况下,使用clone或pthread_create创建线程可能更加高效。 ... [详细]
  • 本文介绍了基于c语言的mcs51单片机定时器计数器的应用教程,包括定时器的设置和计数方法,以及中断函数的使用。同时介绍了定时器应用的举例,包括定时器中断函数的编写和频率值的计算方法。主函数中设置了T0模式和T1计数的初值,并开启了T0和T1的中断,最后启动了CPU中断。 ... [详细]
  • Linux环境变量函数getenv、putenv、setenv和unsetenv详解
    本文详细解释了Linux中的环境变量函数getenv、putenv、setenv和unsetenv的用法和功能。通过使用这些函数,可以获取、设置和删除环境变量的值。同时给出了相应的函数原型、参数说明和返回值。通过示例代码演示了如何使用getenv函数获取环境变量的值,并打印出来。 ... [详细]
  • 开发笔记:实验7的文件读写操作
    本文介绍了使用C++的ofstream和ifstream类进行文件读写操作的方法,包括创建文件、写入文件和读取文件的过程。同时还介绍了如何判断文件是否成功打开和关闭文件的方法。通过本文的学习,读者可以了解如何在C++中进行文件读写操作。 ... [详细]
  • 本文介绍了深入浅出Linux设备驱动编程的重要性,以及两种加载和删除Linux内核模块的方法。通过一个内核模块的例子,展示了模块的编译和加载过程,并讨论了模块对内核大小的控制。深入理解Linux设备驱动编程对于开发者来说非常重要。 ... [详细]
  • 李逍遥寻找仙药的迷阵之旅
    本文讲述了少年李逍遥为了救治婶婶的病情,前往仙灵岛寻找仙药的故事。他需要穿越一个由M×N个方格组成的迷阵,有些方格内有怪物,有些方格是安全的。李逍遥需要避开有怪物的方格,并经过最少的方格,找到仙药。在寻找的过程中,他还会遇到神秘人物。本文提供了一个迷阵样例及李逍遥找到仙药的路线。 ... [详细]
  • 本文介绍了在Windows系统上使用C语言命令行参数启动程序并传递参数的方法,包括接收参数程序的代码和bat文件的编写方法,同时给出了程序运行的结果。 ... [详细]
  • C语言判断正整数能否被整除的程序
    本文介绍了使用C语言编写的判断正整数能否被整除的程序,包括输入一个三位正整数,判断是否能被3整除且至少包含数字3的方法。同时还介绍了使用qsort函数进行快速排序的算法。 ... [详细]
  • 本文介绍了使用Python解析C语言结构体的方法,包括定义基本类型和结构体类型的字典,并提供了一个示例代码,展示了如何解析C语言结构体。 ... [详细]
  • 本文介绍了一种轻巧方便的工具——集算器,通过使用集算器可以将文本日志变成结构化数据,然后可以使用SQL式查询。集算器利用集算语言的优点,将日志内容结构化为数据表结构,SPL支持直接对结构化的文件进行SQL查询,不再需要安装配置第三方数据库软件。本文还详细介绍了具体的实施过程。 ... [详细]
  • 本文介绍了在Cpp中将字符串形式的数值转换为int或float等数值类型的方法,主要使用了strtol、strtod和strtoul函数。这些函数可以将以null结尾的字符串转换为long int、double或unsigned long类型的数值,且支持任意进制的字符串转换。相比之下,atoi函数只能转换十进制数值且没有错误返回。 ... [详细]
  • 本文介绍了GTK+中的GObject对象系统,该系统是基于GLib和C语言完成的面向对象的框架,提供了灵活、可扩展且易于映射到其他语言的特性。其中最重要的是GType,它是GLib运行时类型认证和管理系统的基础,通过注册和管理基本数据类型、用户定义对象和界面类型来实现对象的继承。文章详细解释了GObject系统中对象的三个部分:唯一的ID标识、类结构和实例结构。 ... [详细]
  • 本文介绍了解决java开源项目apache commons email简单使用报错的方法,包括使用正确的JAR包和正确的代码配置,以及相关参数的设置。详细介绍了如何使用apache commons email发送邮件。 ... [详细]
author-avatar
mobiledu2502930043
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有