C语言将日期、时间保存到文本文件中的方法

前言

今天突然兴起,看来一下C语言的文件操作,以前在学习的时候,总是一带而过,觉得没有什么用处;但是现在看来,还真的没有什么用处,最后,我现在还有用到,当然这只是我的个人认为,并不能说明什么,在此我将自己写的一段代码附上,希望能和大家一同学习

1、打开一个文本文件

 FILE *fopen( const char * filename, const char * mode );
 linux文件路径:
 linux:fopen("/tmp/test.txt", "w+");

 windows文件路径:
 windows:fopen("E:/Desktop/cyuyan_sz/vs2010/one/jiguoti/temp/a.txt","w+");

模式:

如果处理的是二进制文件,则需使用下面的访问模式来取代上面的访问模式:

"rb", "wb", "ab", "rb+", "r+b", "wb+", "w+b", "ab+", "a+b"、

2、写入文件

int fputc( int c, FILE *fp );

c:写入的字符    fp:打开的文件流

3、读取文件

int fgetc( FILE * fp );

fgetc() 函数从 fp 所指向的输入文件中读取一个字符。返回值是读取的字符,如果发生错误则返回 EOF。下面的函数允许您从流中读取一个字符串

char *fgets( char *buf, int n, FILE *fp );

函数 fgets() 从 fp 所指向的输入流中读取 n - 1 个字符。它会把读取的字符串复制到缓冲区 buf,并在最后追加一个 null 字符来终止字符串。

如果这个函数在读取最后一个字符之前就遇到一个换行符 '\n' 或文件的末尾 EOF,则只会返回读取到的字符,包括换行符。您也可以使用 int fscanf(FILE *fp, const char *format, ...) 函数来从文件中读取字符串,但是在遇到第一个空格字符时,它会停止读取。

4、关闭文件

fclose( FILE *fp );
#include <stdio.h>
#include <string.h>
int main()
{
 FILE *fp = NULL;
 fp = fopen("E:/Desktop/cyuyan_sz/vs2010/one/jiguoti/temp/a.txt","w+");
 fprintf(fp,"hello word......\n");
 fputs("hello word......\n",fp);
 fclose(fp);
 getchar();
 return 0;
}

所示代码运行结果为:

下面进入正题:

如何将日期、时间存储到记事本文件中,

1、如何获取日期、时间(time.h)

2、如何保存

/*
vs2010在编译生成程序之后,dos界面会出现闪退的情况,
解决办法:
1.在源程序后面添加getchar();
2.添加头文件#include之后在main函数结尾前写上system("pause");
*/
#include <stdio.h>
#include <string.h>
#include <time.h>
#include <Windows.h>

int main()
{
 FILE *fp = NULL;
 char *s="adasdsadasd";
 time_t timep;
 struct tm *p;
 fp = fopen("E:/Desktop/cyuyan_sz/vs2010/one/jiguoti/temp/a.txt","a");

 while(1)
 {
  time(&timep);
  p=gmtime(&timep);

  fputs("日期:",fp);
  fprintf(fp,"%d",p->tm_year+1900); //获取年
  fputs(":",fp);
  fprintf(fp,"%d",p->tm_mon+1);  //获取月
  fputs(":",fp);
  fprintf(fp,"%d",p->tm_mday);  //获取日

  fputs("  ",fp);
  fputs("时间:",fp);
  fprintf(fp,"%d",p->tm_hour+8);  //获取时
  fputs(":",fp);
  fprintf(fp,"%d",p->tm_min);   //获取分
  fputs(":",fp);
  fprintf(fp,"%d",p->tm_sec);   //获取秒

  fputs("  ",fp);
  fputs("今天是今年的第 ",fp);
  fprintf(fp,"%d",p->tm_yday);  //获取今年的第几天
  fputs(" 天\n",fp); //换行

  fputs("\r\n",fp);
  Sleep(1000); //1s保存一次
 }
 fclose(fp);
 getchar();
 return 0;
}

运行结果如下:

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对我们的支持。

(0)

相关推荐

  • C语言实现修改文本文件中特定行的实现代码

    好的,首先我先叙述下功能要求:其实很简单,就是Shell中sed命令的C语言实现,实现定位到所需要的字段的那一行,之后修改成需要的内容.但是由于C语言是面向过程的语言,需要顺序执行的特点,所以,实现中遇到了很多麻烦,在这里博主将实现的过程描述如下,以便大家参考. 问题描述: 文本内容: 复制代码 代码如下: wireless.1.authmode=1wireless.1.compression=0wireless.1.current_ap=ssid12wireless.1.current_sta

  • 用C语言实现从文本文件中读取数据后进行排序的功能

    功能介绍 程序的功能是从外部读取一个包括int型数据的文本文件,然后将它保存到内部临时数组,对数组进行排序后,以文本形式输出到指定的文件上.因为是int类型的数据,没有很严重的损失精度的问题. 正常运行要求: 包括数据的源文件内不能包括其他任何除数字和空白字符(空格,制表符,换行符)之外的任何字符,源文件最开始必须是数字字符,要保证源文件的数据计数正确.同时保证文件名有效. 运行结果 data.txt: obj.txt: 完整代码 警告:版权所有,谨供参考! #include <stdio.h>

  • 交换两个文本内容的C语言代码

    文本存储的位置: jack.txt位于:    e:\jack.txt retchie.txt位于:     e:\retchie.txt 内容: jack.txt   ->  "Hello! I am Jack." retchie.txt   ->   "Hello! I am Retchie." 相关代码: 复制代码 代码如下: #include <stdio.h> int main(void){    char temp1[100]; 

  • C语言中使用lex统计文本文件字符数

    我曾经在Linux上写的一个C程序,借助Lex做词法分析来同时统计N个文本文件的字符数,单词数和行数.让我觉得Lex确实挺有意思的.确实Lex的功能非常强大,用来做小巧的词法分析非常适合,也非常好用.这个程序参考了<Lex与Yacc>上的一个例子. %{ unsigned int char_count = 0, word_count = 0, line_count = 0; %} %% [^ /t/n]+ {word_count++; char_count+=yyleng;}; /n {cha

  • C语言实现文本编辑器系统

    本文实例为大家分享了C语言实现文本编辑器系统的具体代码,供大家参考,具体内容如下 /*文本编辑器editor源代码*/ #include <stdio.h> #include <conio.h> #include <bios.h> #include <math.h> #define LEFT 0x4b00 /*←:光标左移*/ #define RIGHT 0x4d00 /*→:光标右移*/ #define DOWN 0x5000 /*↓键:光标下移*/ #d

  • c语言操作文本的基本使用方法

    字符读写函数  :fgetc和fputc字符串读写函数:fgets和fputs数据块读写函数:freed和fwrite格式化读写函数:fscanf和fprinf 1.字符读写:fgetc函数的功能是从指定的文件中读一个字符,函数调用的形式为:字符变量=fgetc(文件指针):fputc函数的功能是把一个字符写入指定的文件中,函数调用的形式为:fputc(字符量,文件指针): 2.字符串读写读字符串函数fgets 函数的功能是从指定的文件中读一个字符串到字符数组中,函数调用的形式为: fgets(

  • C语言采用文本方式和二进制方式打开文件的区别分析

    稍微了解C程序设计的人都知道,文本文件和二进制文件在计算机上面都是以0,1存储的,那么两者怎么还存在差别呢?对于编程人员来说,文本文件和二进制文件就是一个声明,指明了你应该以什么方式(文本方式/二进制)打开这个文件,用什么函数读写这个文件(读写函数),怎么判断读到这个文件结尾等. 具体分析如下: 一.以哪种方式打开一个文件: ANSI C规定了标准输入输出函数库,用 fopen()函数打开文件.fopen()函数的调用方式一般为: FILE *fp; fp=fopen(文件名,使用文件方式):

  • C语言实现文本文件/二进制文件格式互换

    本程序要自己创建个文本格式的输入文件a1.txt,编译后能将文本文件前255字节以内的字符转换成相应的AscII码值的二进制表示,并存入输出文件a2.txt中.然后再将二进制文件还原并存入a3.txt文件. 具体代码如下: #include <cstdio> #include <stdio.h> #include <string.h> #define NSIZE 8 void print_2(int val2); /***********文本文件转二进制********

  • C语言将日期、时间保存到文本文件中的方法

    前言 今天突然兴起,看来一下C语言的文件操作,以前在学习的时候,总是一带而过,觉得没有什么用处:但是现在看来,还真的没有什么用处,最后,我现在还有用到,当然这只是我的个人认为,并不能说明什么,在此我将自己写的一段代码附上,希望能和大家一同学习 1.打开一个文本文件 FILE *fopen( const char * filename, const char * mode ); linux文件路径: linux:fopen("/tmp/test.txt", "w+")

  • python GUI库图形界面开发之PyQt5日期时间控件QDateTimeEdit详细使用方法与实例

    PyQt5日期时间控件QDateTimeEdit介绍 QDateTimeEdit是一个允许用户编辑日期时间的控件,可以使用键盘上的上下键头按钮来增加或减少日期的时间值,QDateTimeEdit通过setDisplayFormat()函数来设置显示的日期时间格式 QDateTimeEdit类中常用方法 方法 描述 setDisplayFormat 设置日期的时间格式 yyyy:代表年份,用4为数表示 MM:代表月份,取值范围01-12 dd:代表日,取值范围01-31 HH:代表小时,取值范围0

  • Java生成日期时间存入Mysql数据库的实现方法

    目录 一.创建数据库标准 二.数据库表结构 三.使用步骤 一.创建数据库标准 1.表的必备三个字段:id.gmt_create.gmt_modified 2.gmt_create是创建时间,gmt_modified是更新时间 3.然而创建时间和更新时间的默认设置不要让数据库来设置.统一用Mybatis-plus的Handler管理 二.数据库表结构 CREATE TABLE `ums_member` ( `id` bigint(20) NOT NULL, `username` varchar(6

  • Java日期时间字符串和毫秒相互转换的方法

    本文内容大多基于官方文档和网上前辈经验总结,经过个人实践加以整理积累,仅供参考. 1.日期时间字符串转换成毫秒 @Test public void test() throws ParseException { String dateTime = "2016-12-31 12:30:45 123"; Calendar calendar = Calendar.getInstance(); calendar.setTime(new SimpleDateFormat("yyyy-MM

  • ASP.NET将Session保存到数据库中的方法

    几个方式(本文不作介绍),要将Session保存到SQL Server中,需要有以下几个步骤: 1.首先要创建用于保存Session数据的数据库,以命令行的形式用aspnet_regsql.exe来完成,具体命令为 C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727>aspnet_regsql.exe -ssadd -sstype c -d sd -E 该命令是以windows验证方式,添加了sd数据库保存session数据. 2.需要修改ASP.NET

  • 易语言将日期时间转换成纯数字格式的代码

    将时间转换到纯数字格式的代码 .版本 2 .程序集 窗口程序集1 .程序集变量 年, 文本型 .程序集变量 月, 文本型 .程序集变量 日, 文本型 .程序集变量 时, 文本型 .程序集变量 分, 文本型 .程序集变量 秒, 文本型 .子程序 获取时间 年 = 到文本 (取年份 (取现行时间 ())) .判断开始 (取月份 (取现行时间 ()) < 10) 月 = 到文本 ("0") + 到文本 (取月份 (取现行时间 ())) .默认 月 = 到文本 (取月份 (取现行时间 (

  • Java计算两个日期时间之间的天数最简方法

    有一种low的方式,就是你把两个时间都换成秒,然后除以一天的秒数,然后向上取整,就是算的天数.但是这么实现太low啦. jdk有高级的API,我们为啥还要自己去实现呢,问题就是我们不知道. 所以,我在这写个笔记,记录下,jdk 1.8 是怎么做的. /** * 计算两个时间点之间的天数 */ private static void getBetweenDay() { LocalDate start = LocalDate.of(2018, 2, 12); LocalDate now = Loca

  • C# string格式的日期时间字符串转为DateTime类型的方法

    方法一:Convert.ToDateTime(string) string格式有要求,必须是yyyy-MM-dd hh:mm:ss 方法二:Convert.ToDateTime(string, IFormatProvider) DateTime dt; DateTimeFormatInfo dtFormat = new System.GlobalizationDateTimeFormatInfo(); dtFormat.ShortDatePattern = "yyyy/MM/dd";

  • 易语言设置当前程序到系统托盘中的方法

    置托盘图标方法 英文命令:SetTrayIcon 操作系统支持:Windows    所属对象:窗口 设置本程序在系统托盘中的图标. 语法:  无返回值  窗口组件.置托盘图标 ([图标数据],[提示信息]) 例程 说明 通过"置托盘图标"命令向任务栏添加一个图标.本方法适用于所有组件. 运行结果: 总结 以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对我们的支持.如果你想了解更多相关内容请查看下面相关链接

  • R语言日期时间的使用

    目录 1.日期和日期时间类型 2.从字符串生成日期数据 3.日期显示格式 4.访问日期时间的组成值 5.日期舍入计算 6.日期计算 6.1 时间长度 6.2 时间周期 6.3 时间区间 7.基本R软件的日期功能 7.1 生成日期和日期时间型数据 7.2 取出日期时间的组成值 7.3  日期计算 练习 1.日期和日期时间类型 R 中日期可以保存为 Date 类型,一般用整数保存,数值为从 1970-1-1 经过的天数. R 中用一种叫做 POSIXct 和 POSIXlt 的特殊数据类型保存日期和

随机推荐