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

所属分类: 软件编程 / C 语言 阅读数: 68
收藏 0 赞 0 分享

前言

今天突然兴起,看来一下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;
}

运行结果如下:

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

更多精彩内容其他人还在看

C++广播通信实例

这篇文章主要介绍了C++实现广播通信的方法,实例讲述了C++ socket广播通信的原理与实现方法,需要的朋友可以参考下
收藏 0 赞 0 分享

C++计算ICMP头的校验和实例

这篇文章主要介绍了C++计算ICMP头的校验和的方法,代码简单实用,对于校验ICMP报文来说有不错的实用价值,需要的朋友可以参考下
收藏 0 赞 0 分享

C++设置超时时间的简单实现方法

这篇文章主要介绍了C++设置超时时间的简单实现方法,涉及系统函数setsockopt对套接口的操作,具有一定的实用价值,需要的朋友可以参考下
收藏 0 赞 0 分享

C++实现ping程序实例

这篇文章主要介绍了C++实现ping程序实例,涉及C++对于ICMP数据包的发送与回显处理,具有一定的实用价值,需要的朋友可以参考下
收藏 0 赞 0 分享

C++之boost::array的用法

这篇文章主要介绍了C++之boost::array的用法,以实例的形式简单讲述了静态数组的容器boost::array的使用技巧,具有一定的参考借鉴价值,需要的朋友可以参考下
收藏 0 赞 0 分享

C++之Boost::array用法简介

这篇文章主要介绍了C++之Boost::array用法简介,较为详细的分析了Boost::array中的常见用法,并用实例的形式予以总结归纳,需要的朋友可以参考下
收藏 0 赞 0 分享

VC文件目录常见操作实例汇总

这篇文章主要介绍了VC文件目录常见操作实例汇总,总结了VC针对文件目录的各种常用操作,非常具有实用价值,需要的朋友可以参考下
收藏 0 赞 0 分享

VC打印word,excel文本文件的方法

这篇文章主要介绍了VC打印word,excel文本文件的方法,是VC操作文本文件中非常实用的技巧,需要的朋友可以参考下
收藏 0 赞 0 分享

VC++获得当前进程运行目录的方法

这篇文章主要介绍了VC++获得当前进程运行目录的方法,可通过系统函数实现该功能,是非常实用的技巧,需要的朋友可以参考下
收藏 0 赞 0 分享

VC中SendMessage和PostMessage的区别

这篇文章主要介绍了VC中SendMessage和PostMessage的区别,较为全面的分析了SendMessage和PostMessage运行原理及用法上的不同之处,非常具有实用价值,需要的朋友可以参考下
收藏 0 赞 0 分享
查看更多