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

所示代码运行结果为:

下面进入正题:

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

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()
{
time(&timep);
p=gmtime(&timep); fputs("日期:",fp);
fprintf(fp,"%d",p->tm_year+); //获取年
fputs(":",fp);
fprintf(fp,"%d",p->tm_mon+); //获取月
fputs(":",fp);
fprintf(fp,"%d",p->tm_mday); //获取日 fputs(" ",fp);
fputs("时间:",fp);
fprintf(fp,"%d",p->tm_hour+); //获取时
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(); //1s保存一次
}
fclose(fp);
getchar();
return ;
}

运行结果如下:

有问题可在下方评论,希望能共同学习

C语言实现将日期、时间保存到文本文件中的更多相关文章

  1. Java日期时间API系列19-----Jdk8中java.time包中的新的日期时间API类,ZonedDateTime与ZoneId和LocalDateTime的关系,ZonedDateTime格式化和时区转换等。

    通过Java日期时间API系列6-----Jdk8中java.time包中的新的日期时间API类中时间范围示意图:可以很清晰的看出ZonedDateTime相当于LocalDateTime+ZoneI ...

  2. Java日期时间API系列8-----Jdk8中java.time包中的新的日期时间API类的LocalDate源码分析

    目录 0.前言 1.TemporalAccessor源码 2.Temporal源码 3.TemporalAdjuster源码 4.ChronoLocalDate源码 5.LocalDate源码 6.总 ...

  3. Java日期时间API系列11-----Jdk8中java.time包中的新的日期时间API类,使用java8日期时间API重写农历LunarDate

    通过Java日期时间API系列7-----Jdk8中java.time包中的新的日期时间API类的优点,java8具有很多优点,现在网上查到的农历转换工具类都是基于jdk7及以前的类写的,下面使用ja ...

  4. Java日期时间API系列12-----Jdk8中java.time包中的新的日期时间API类,日期格式化,常用日期格式大全

    通过Java日期时间API系列10-----Jdk8中java.time包中的新的日期时间API类的DateTimeFormatter, 可以看出java8的DateTimeFormatter完美解决 ...

  5. NX二次开发-将信息窗口中的文本保存到文本文件中UF_UI_save_listing_window

    #include <uf.h> #include <uf_ui.h> UF_initialize(); //打开信息窗口 UF_UI_open_listing_window() ...

  6. ASP.NET MVC下使用AngularJs语言(九):日期时间处理与显示

    当在angularjs去显示一个时间时,如原原本本去显示这个值,它将显示一个怪怪的字符串,其实它就是被系列化json之后的字符串.如:一个空值显示为日期时间: 如果非空值显示为日期时间的情形: 为了能 ...

  7. Java日期时间API系列6-----Jdk8中java.time包中的新的日期时间API类

    因为Jdk7及以前的日期时间类的不方便使用问题和线程安全问题等问题,2005年,Stephen Colebourne创建了Joda-Time库,作为替代的日期和时间API.Stephen向JCP提交了 ...

  8. Java日期时间API系列7-----Jdk8中java.time包中的新的日期时间API类的特点

    1.不变性 新的日期/时间API中,所有的类都是不可变的,这对多线程环境有好处. 比如:LocalDateTime 2.关注点分离 新的API将人可读的日期时间和机器时间(unix timestamp ...

  9. Java日期时间API系列13-----Jdk8中java.time包中的新的日期时间API类,时间类转换,Date转LocalDateTime,LocalDateTime转Date等

    从前面的系列博客中可以看出Jdk8中java.time包中的新的日期时间API类设计的很好,但Date由于使用仍非常广泛,这就涉及到Date转LocalDateTime,LocalDateTime转D ...

随机推荐

  1. vue学习笔记4

    父组件向子组件传值 组件实例定义方式,注意:一定要使用props属性来定义父组件传递过来的数据 <script> // 创建 Vue 实例,得到 ViewModel var vm = ne ...

  2. 【原】Java学习笔记034 - 网络

    package cn.temptation; import java.net.InetAddress; public class Sample01 { public static void main( ...

  3. 再谈AbstractQueuedSynchronizer1:独占模式

    关于AbstractQueuedSynchronizer JDK1.5之后引入了并发包java.util.concurrent,大大提高了Java程序的并发性能.关于java.util.concurr ...

  4. mysql之聚合函数、group by、having

    sql中提供聚合函数可以用来统计,求和,求最值等 那么聚合函数有哪些呢? COUNT    统计行数量 SUM         求某一列的和 AVG          求某一列的平均值 MAX  求某 ...

  5. chrome谷歌浏览器开发者工具-网络带宽控制

    有时候我们想在本地测试一下图片预加载loading的加载情况,如下图: 可无奈一般网络带宽都比较好,基本上看不到效果,图片一下子就加载出来了, 可能这个时候有些小伙伴想到的办法是用定时器延迟加载 其实 ...

  6. 自己整理的所有java知识点(不断迭代中)

    1. 自己整理的所有java知识点(不断迭代中) 画图工具注册 https://www.processon.com/i/599d35fae4b00d97d7f9bb17 1.1. Java整体知识架构 ...

  7. Android开发:文本控件详解——TextView(一)基本属性

    一.简单实例: 新建的Android项目初始自带的Hello World!其实就是一个TextView. 在activity_main.xml中可以新建TextView,从左侧组件里拖拽到右侧预览界面 ...

  8. 每日分享!~ vue JavaScript中为什么可以读取到字符串的长度!(包装对象)

    首先需要知道什么是包装对象? 对象是JavaScript语言下最主要的数据类型,三种原始的值-----数值,字符串,布尔值,在一定条件下会自动的转为对象.也就是原始类型的包装对象: 也就是通过如下方式 ...

  9. [JLOI2016] 成绩比较

    推石子 首先设\(d[i]=\sum_{t=1}^{U[i]}t^{n-R[i]}(U[i]-t)^{R[i]-1}\),即第\(i\)门课程分数的合法分布方案数: 然后设\(f[i,j]\)表示前\ ...

  10. Docker Machine搭建并加入节点

    对于集群服务器来讲,要在每台机器上手动安装Docker是一件及其痛苦的事情,还好有Docker Machine这一工具,Docker三剑客中的一角. 一.Docker Machine介绍 这个工具已经 ...