社区
C语言
帖子详情
请问我有time_t类型的变量,我现在存入文件中去,再用fgets读出
liuxialong
2009-12-22 04:16:29
有time_t类型的变量,我现在存入文件中去,再用fgets读出后存在char *buffer中,
请问我现在怎么把buffer还原成time_t类型。
或者
大家有没有其他思路,在文件中如何保存time_t,因为我要一行一行的读文件,
所以读出的时候一定是字符串类型的。
如何还原成time_t类型。
还有int类型,都上的疑问。
...全文
234
13
打赏
收藏
请问我有time_t类型的变量,我现在存入文件中去,再用fgets读出
有time_t类型的变量,我现在存入文件中去,再用fgets读出后存在char *buffer中, 请问我现在怎么把buffer还原成time_t类型。 或者 大家有没有其他思路,在文件中如何保存time_t,因为我要一行一行的读文件, 所以读出的时候一定是字符串类型的。 如何还原成time_t类型。 还有int类型,都上的疑问。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
13 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
liuxialong
2009-12-23
打赏
举报
回复
你的建议很好。不过我这只用考虑本地存 读的问题。
谢谢你!
[Quote=引用 12 楼 dergen 的回复:]
引用 8 楼 liuxialong 的回复:
我会了,可以转换指针
char buffer[4];
time_t *tp=(time_t *)buffer;
就可以了
time_t 与系统实现有关,所以这样保存到文件,在另外的系统再读出来,有可能得不到你想要的结果。还是保存为具体时间比较稳妥吧,我想。
[/Quote]
白云在上
2009-12-23
打赏
举报
回复
[Quote=引用 8 楼 liuxialong 的回复:]
我会了,可以转换指针
char buffer[4];
time_t *tp=(time_t *)buffer;
就可以了
[/Quote]
time_t 与系统实现有关,所以这样保存到文件,在另外的系统再读出来,有可能得不到你想要的结果。还是保存为具体时间比较稳妥吧,我想。
challenge99
2009-12-22
打赏
举报
回复
可以把数据以16进制 的字符方式写入, 读出的时候再转换成数据
比如 0100 0001 -> 0x41 - > 41
白头老汉
2009-12-22
打赏
举报
回复
如果你用文本方式写进去,再读出来,估计就完蛋了。
用二进制写,二进制读。结构的大小用sizeof
十八道胡同
2009-12-22
打赏
举报
回复
应该可以强制类型转换
如果不能 可以读进内存之后再构造time_t
liuxialong
2009-12-22
打赏
举报
回复
我会了,可以转换指针
char buffer[4];
time_t *tp=(time_t *)buffer;
就可以了
liuxialong
2009-12-22
打赏
举报
回复
可是还是没有解决问题啊,谁有好的想法啊
[Quote=引用 6 楼 wangxipu 的回复:]
time_t在vs2003以及之前的版本中为32位
2005之后就是64位了
[/Quote]
wangxipu
2009-12-22
打赏
举报
回复
time_t在vs2003以及之前的版本中为32位
2005之后就是64位了
liuxialong
2009-12-22
打赏
举报
回复
顶一下,大家帮帮忙看下吧
liuxialong
2009-12-22
打赏
举报
回复
[Quote=引用 2 楼 jzd8000 的回复:]
用sizeof计算一下time_t的长度,然后把这么多长度的数据强制转换为time_t类型的。
[/Quote]
能详细点么,我现在是用char *buffer存着time_t,如何强制转换32位的数据到time_t
liuxialong
2009-12-22
打赏
举报
回复
[Quote=引用 1 楼 hbvanguard 的回复:]
不要用fgets读,用fread读字节然后转化成time_t或者int都方便
[/Quote]
但是我必须用fgets,因为我文件中存放的记录是用‘\n’分割的。
我不知道每条记录的大小,怎么用fread读啊
jzd8000
2009-12-22
打赏
举报
回复
用sizeof计算一下time_t的长度,然后把这么多长度的数据强制转换为time_t类型的。
hbvanguard
2009-12-22
打赏
举报
回复
不要用fgets读,用fread读字节然后转化成time_t或者int都方便
1.数据,运算符和输入输出【由浅入深.c】
本文介绍数据
类型
和变数据,运算符和输入输出相关内容。
C语言
文件
操作核心:流、缓冲区与二进制数据处理详解
文件
操作是程序与外部存储交互的基础,其核心在于理解“流”的抽象概念。流将不同数据源统一为可操作的数据管道,通过缓冲区机制平衡I/O效率与数据同步。在C语言中,标准I/O库提供了一系列函数实现流的读写,其中二进制数据处理尤为重要,涉及内存布局、字节序等底层细节。掌握fread/fwrite等函数,能高效处理图像、结构体等非文本数据,确保数据完整性与跨平台兼容性。本文结合嵌入式开发实践,深入解析
文件
操作原理、常见陷阱及调试技巧,帮助开发者构建健壮的持久化存储方案。
操原上机(一) 编写一个C语言程序运行一个txt
文件
中写入的可执行程序
问题描述 CommandList.txt: 第一行是说明性文字:本
文件
最后一次打开和运行日期是20190330。 第二行开始每行是一个可执行程序的名称(含路径)。编写一个应用程序能打开该
文件
,并顺序执行其中的每个程序,并更新
文件
第一行中的日期。 实现 首先先写一个能够按行读取txt
文件
的程序。主要代码代码如下: FILE *fp; char load_file[256]; //txt
文件
名和路径 ...
C语言实现Linux智能
文件
复制工具:进度条与覆盖确认实战
在Linux系统编程中,
文件
I/O操作是核心基础,涉及
文件
描述符、缓冲区管理和系统调用等关键技术。其原理是通过内核提供的接口,在用户空间与存储设备间高效、可靠地传输数据。掌握这些技术对于开发高性能、高可靠性的系统工具至关重要,尤其在需要精细控制数据流和交互体验的场景下。例如,在自动化部署、数据备份或大规模
文件
迁移等应用场景中,一个具备实时状态反馈和智能决策能力的
文件
复制工具能极大提升操作效率和安全性。本文基于C语言,通过实战构建一个增强版复制工具,重点解析了如何利用ANSI转义码实现动态进度条,以及结合st
7.1作业
1将当前的时间写入到
time
. txt的
文件
中,如果ctrl+c退出之后,在再次执行支持断点续写。fclose(fp);// 关闭已打开的
文件
。fflush(fp);// 确保数据写入
文件
。//按下ctrl+c停止,再次执行程序。// 每秒写入一次时间。// 读取
文件
确定起始编号。2.使用
文件
IO函数实现图片的拷贝。// 设置下一个编号。
C语言
70,038
社区成员
243,245
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章