简单日志输出:

#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 打印简单日志(一)相关推荐

  1. linux端口访问规则,linux 查看开发放端口号--iptables

    一.查看哪些端口被打开 netstat -anp 二.关闭端口号: # iptables -A INPUT -p tcp --drop 端口号 -j DROP //不带协议的 # iptables - ...

  2. linux文件名排序规则,Linux sort 排序使用详解

    前阵子,写脚本时,用到sort来对文件排序:第一次没有达到所需的效果,原来是LANG设置问题,后来先export LANG=C,然后再sort就满足我的要求了. 某牛人总结的sort用法:http:/ ...

  3. Linux找头文件规则,linux 头文件、库文件查找顺序

    linux 头文件.库文件查找顺序 默认分类 2009-11-14 01:24:28 阅读126 评论0 字号:大中小 linux 头文件.库文件查找顺序 2009-11-03 12:36 Inclu ...

  4. oracle日志文件大小规则,在线重做Oracle日志文件大小

    下面为您介绍的方法用于实现在线重做Oracle日志文件大小,如果您在Oracle日志文件方面遇到过类似的问题的话,不妨一看. 1.创建2个新的日志组 alter database add logfil ...

  5. linux防火墙富规则,[Linux]Redhat7防火墙配置汇总

    Redhat7防火墙常用配置 重启防火墙服务 systemctl restart firewalld.service 查看防火墙服务状态 systemctl status firewalld.serv ...

  6. 手机linux内核版本了解,Linux内核版本介绍与查询

    Linux内核版本命名在不同时期有着不同的规范,在涉及到Linux版本问题时经常容易混淆,主线版本/稳定版/长期支持版本经常搞不清楚,本文主要记录下内核版本命名的规则以及如何查看Linux系统版本信息 ...

  7. Linux 打印简单日志(一)

    简单日志输出: #include<stdio.h> #include<string.h> #include<stdlib.h>void write(char* fi ...

  8. linux c 贝塞尔曲线_使用 logzero 在 Python 中进行简单日志记录 | Linux 中国

    快速了解一个方便的日志库,来帮助你掌握这个重要的编程概念.-- Ben Nuttall logzero 库使日志记录就像打印语句一样容易,是简单性的杰出代表.我不确定 logzero 的名称是否要与 ...

  9. linux将访问日志切成每天,最简单自动切割 nginx 访问日志示例

    网站上线后,没怎么注意过日志,有一天需要查日志时,才发现竟然有 100 多个 G,一个文本文件竟然有 100 多个G,这也太大了. nginx 是一个非常轻量的 web 服务器,体积小.性能高.速度快 ...

最新文章

  1. 简单几行代码,写一个百度广告屏蔽插件,爽到爆
  2. zabbix 自动发现和注册
  3. 属性定义为 not null unique_土味情话为你倾尽天下,你共赏盛世繁华
  4. 2021-02-25 matlab 字符串和数字同时写入excel
  5. [转载红鱼儿]kbmmw 开发点滴:Authorization failed.
  6. srs代码学习(1)--listen建立过程
  7. mysql批量条件字段_mysql批量更新多条记录的同一个字段为不同值的方法
  8. java 精选选择题_Java生产率提示:社区精选
  9. mysql order by 索引名字_MySQL如何利用索引优化ORDER BY排序语句
  10. C++学习之路 | PTA乙级—— 1045 快速排序 (25 分)(精简)
  11. 如何下载python安装包的所有依赖_如何将包含所有依赖项的python包安装到Docker镜像中?...
  12. 【转】移动客户端测试总结
  13. LINUX MPEG4 DVR源代码,还包括一个可以跨平台运行的MPEG4 播放器(需要XVID与SDL开发库包)
  14. 数据分析几大常见效应和定律。
  15. mongo——limit的坑
  16. emacs go-mode 设置tab宽度
  17. 今日凌晨Vue3 beta版震撼发布,竟然公开支持脚手架项目!
  18. mysql中rtrim的用法,MySQL RTRIM()用法及代码示例
  19. OGG/OGV文件格式解析
  20. 免费高清录直播的软件分享

热门文章

  1. poj 3040 Allowance (贪心
  2. Anacoda 介绍、安装、环境切换
  3. 5 Expressing future time
  4. 机器学习之K-近邻算法
  5. 第二篇:浅谈自定义头文件可能导致的重定义问题
  6. 一个程序员一月的开销统计分析、(附上PC端和移动端android源码)
  7. 分享 ASP.NET WebForm 另外一种开发方式,逃离服务器控件
  8. [转载] Python大数据文本分析及应用
  9. python @的作用
  10. 转:超级好用的流程图js框架