linux日志打印规则,Linux 打印简单日志(一)
简单日志输出:
#include#include#include
void write(char* filename,char*szStr){
FILE*fp;
fp= fopen(filename,"at+");if(fp !=NULL){
fwrite(szStr,256,1,fp); //fclose(fp);
fp=NULL;
}
}int main(int argc, char**argv){inti;for(i = 0; i < argc; i++){
write("log.txt",argv[i]);
}return 0;
}
Attention:
fwrite(szStr,256,1,fp); // fwrite(szStr,strlen(szStr),1,fp);
日志会出现乱码的情况
fopen()函数:
函数声明:include
函数原型:FILE *fopen(const char *filename, const char *mode);
函数参数:filename:log文件名 mode:文件访问模式
函数功能:按照给的的模式mode打开filename所指向的文件
函数返回值:文件顺利打开后,指向改流的文件指针就会被返回。如果文件打开失败,就返回NULL,并把错误代码存储在error中。
参数说明:
mode有几种形态的字符串:
r
以只读的方式打开文件,文件必须存在
r+
以读/写的方式打开文件,文件必须存在
rb+
以读/写的方式打开一个二进制文件,只允许读写数据
rt+
以读/写方式打开一个文本文件,允许读和写
w
打开只读文件,若文件存在则文件长度清零,即文件内容会消失;若文件不存在,则创建该文件
a
以附加的方式打开只写文件,若文件不存在,则创建该文件,若文件存在,将写入的数据加在文件的末尾
a+
以附加的方式打开读/写文件,若文件不存在,则创建该文件,若文件存在,将写入的数据加在文件的末尾
wb
以只写的方式打开或新建一个二进制文件,只允许写数据
wb+
以只写的方式打开或新建一个二进制文件,允许读和写
wt+
以读/写的方式打开一个文本文件,允许读和写
at+
以读/写方式打开一个文本文件,允许读或在文本末追加数据
ab+
以读/写的方式打开一个二进制文件,允许读或者在文件末尾追加数据
补充:
1.以x结尾的模式为独占模式,文件已存在或无法创建(一般为路径文件问题)导致fopen打开失败。文件以操作系统支持的独占模式打开。
2.上述的形态字符串都可以再加一个b字符,如rb/w+b/ab+等,加入b字符来告诉函数库以二进制打开文件。如果没有b,则默认加t,即以文本模式打开文件。
3.二进制和文本模式区别:
在windows系统中,文本模式下:文件以“\n\r”代表换行。若以文本模式打开文件,并用fputs等函数写入换行符“\n”时,函数会自动在“\n”前面加“\r”。即实际写入文件的时“\r\n”。
在unix/linux系统中,文本模式下“\n”代表换行,linux系统下文本和二进制模式下无区别。
总结:
是否是二进制打开,加b
读写方式:只读、只写、读写、追加只写、追加读写。
读文件是否必须存在,以及存在时是清空还是追加不同的响应。
fwrite()函数:
函数原型:size_t fwrite(const void *ptr, size_t size, size_t nmemb, FILE *stream)
函数参数:
ptr: 指向要被写入的元素数组的指针。
size: 要被写入的每个元素的大小,单位字节
nmemb: 元素的个数,每个元素大小为size字节
stream: 这是指向FILE对象的指针,该FILE对象指定了一个输出流。
函数功能:把ptr所指向的数组中的数据写入到指定的stream中。
返回值:如果成功,返回一个size_t的对象,表示元素的总数,该对象是一个整型数据类型。如果该数字与nmemb参数不同,则会出现一个错误。
linux日志打印规则,Linux 打印简单日志(一)相关推荐
- linux端口访问规则,linux 查看开发放端口号--iptables
一.查看哪些端口被打开 netstat -anp 二.关闭端口号: # iptables -A INPUT -p tcp --drop 端口号 -j DROP //不带协议的 # iptables - ...
- linux文件名排序规则,Linux sort 排序使用详解
前阵子,写脚本时,用到sort来对文件排序:第一次没有达到所需的效果,原来是LANG设置问题,后来先export LANG=C,然后再sort就满足我的要求了. 某牛人总结的sort用法:http:/ ...
- Linux找头文件规则,linux 头文件、库文件查找顺序
linux 头文件.库文件查找顺序 默认分类 2009-11-14 01:24:28 阅读126 评论0 字号:大中小 linux 头文件.库文件查找顺序 2009-11-03 12:36 Inclu ...
- oracle日志文件大小规则,在线重做Oracle日志文件大小
下面为您介绍的方法用于实现在线重做Oracle日志文件大小,如果您在Oracle日志文件方面遇到过类似的问题的话,不妨一看. 1.创建2个新的日志组 alter database add logfil ...
- linux防火墙富规则,[Linux]Redhat7防火墙配置汇总
Redhat7防火墙常用配置 重启防火墙服务 systemctl restart firewalld.service 查看防火墙服务状态 systemctl status firewalld.serv ...
- 手机linux内核版本了解,Linux内核版本介绍与查询
Linux内核版本命名在不同时期有着不同的规范,在涉及到Linux版本问题时经常容易混淆,主线版本/稳定版/长期支持版本经常搞不清楚,本文主要记录下内核版本命名的规则以及如何查看Linux系统版本信息 ...
- Linux 打印简单日志(一)
简单日志输出: #include<stdio.h> #include<string.h> #include<stdlib.h>void write(char* fi ...
- linux c 贝塞尔曲线_使用 logzero 在 Python 中进行简单日志记录 | Linux 中国
快速了解一个方便的日志库,来帮助你掌握这个重要的编程概念.-- Ben Nuttall logzero 库使日志记录就像打印语句一样容易,是简单性的杰出代表.我不确定 logzero 的名称是否要与 ...
- linux将访问日志切成每天,最简单自动切割 nginx 访问日志示例
网站上线后,没怎么注意过日志,有一天需要查日志时,才发现竟然有 100 多个 G,一个文本文件竟然有 100 多个G,这也太大了. nginx 是一个非常轻量的 web 服务器,体积小.性能高.速度快 ...
最新文章
- 简单几行代码,写一个百度广告屏蔽插件,爽到爆
- zabbix 自动发现和注册
- 属性定义为 not null unique_土味情话为你倾尽天下,你共赏盛世繁华
- 2021-02-25 matlab 字符串和数字同时写入excel
- [转载红鱼儿]kbmmw 开发点滴:Authorization failed.
- srs代码学习(1)--listen建立过程
- mysql批量条件字段_mysql批量更新多条记录的同一个字段为不同值的方法
- java 精选选择题_Java生产率提示:社区精选
- mysql order by 索引名字_MySQL如何利用索引优化ORDER BY排序语句
- C++学习之路 | PTA乙级—— 1045 快速排序 (25 分)(精简)
- 如何下载python安装包的所有依赖_如何将包含所有依赖项的python包安装到Docker镜像中?...
- 【转】移动客户端测试总结
- LINUX MPEG4 DVR源代码,还包括一个可以跨平台运行的MPEG4 播放器(需要XVID与SDL开发库包)
- 数据分析几大常见效应和定律。
- mongo——limit的坑
- emacs go-mode 设置tab宽度
- 今日凌晨Vue3 beta版震撼发布,竟然公开支持脚手架项目!
- mysql中rtrim的用法,MySQL RTRIM()用法及代码示例
- OGG/OGV文件格式解析
- 免费高清录直播的软件分享