博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
linux fwrite写入中文,linux的fwrite()使用方法,当前时间写入文本的程序
阅读量:7023 次
发布时间:2019-06-28

本文共 1682 字,大约阅读时间需要 5 分钟。

1.函数功能

用来读写一个数据块。

2.一般调用形式

fwrite(buffer,size,count,fp);

3.说明

(1)buffer:是一个指针,对fread来说,它是读入数据的存放地址。对fwrite来说,是要输出数据的地址。

(2)size:要读写的字节数;

(3)count:要进行读写多少个size字节的数据项;

(4)fp:文件型指针

这是工作中用 fwrite函数写的例子,不仅记录下自己的学习情况,也分享给各位朋友这个fwrite函数实例。

这个fwrite实例是当前时间写入文本的程序,下面这个是fwrite函数的使用方法。

int markfile(void )

{

FILE *sp ;

//    char buff[512] ;

char count = 0;

char *currentime = NULL;

char *wday[] = {"Sun","Mon","Tue","Wed","Thu","Fri","Sat"};

time_t timep;

struct tm *p;

time(&timep);

p = localtime(&timep);

currentime = ctime(&timep);

//    memset(buff,0,512);

//    sprintf(buff,"%s",currentime);

printf("%d/%d/%d",(1900+p->tm_year),(1+p->tm_mon),p->tm_mday);

printf(" %s %d:%d:%d\n",wday[p->tm_wday],p->tm_hour,p->tm_min,p->tm_sec);

if((sp = fopen("/root/kay/mark.txt","a+")) == NULL)

return 0;

fwrite(currentime,size(currentime)-1,1,sp);

fclose(sp);

return 1;

}

size(currentime)( = 26 )的作用是得出指针currentime所指的字符串的个数(包括‘\0‘),但是会输出乱码(应该是字符串的个数太长了),因此,我把个数减掉一个,就能舒适正确结果。

用另外一种方法:

int markfile(void )

{

FILE *sp ;

char buff[512] ;

char count = 0;

char *currentime = NULL;

char *wday[] = {"Sun","Mon","Tue","Wed","Thu","Fri","Sat"};

time_t timep;

struct tm *p;

time(&timep);

p = localtime(&timep);

currentime = ctime(&timep);

//    memset(buff,0,512);

sprintf(buff,"%s",currentime);

printf("%d/%d/%d",(1900+p->tm_year),(1+p->tm_mon),p->tm_mday);

printf(" %s %d:%d:%d\n",wday[p->tm_wday],p->tm_hour,p->tm_min,p->tm_sec);

if((sp = fopen("/root/kay/mark.txt","a+")) == NULL)

return 0;

fwrite(currentime,(count = strlen(buff)),1,sp);

printf("%d\n",count);

fclose(sp);

return 1;

}

count = strlen(buff) 来获得字符的个数  结果是25,

综上的对比 觉得是fwrite()输出的字符不要包括结束符(‘\0‘),否则会因为字符个数多了而造成乱码

看完的朋友,觉得对你们有帮助就顶一个,如果觉得哪里不好,可以发表下看法,共同学习。

转载地址:http://susxl.baihongyu.com/

你可能感兴趣的文章
邮件服务器
查看>>
OOAD-设计模式-原型模式
查看>>
Java FAQ(2)
查看>>
JavaScript常用事件总结
查看>>
squid在企业网中的应用
查看>>
主元素 Majority Element
查看>>
关于加密的一些笔记
查看>>
MySQL并发处理
查看>>
android Bitmap的内存优化
查看>>
我的友情链接
查看>>
mysql主从备份
查看>>
高并发Web服务的演变—节约系统内存和CPU
查看>>
MyBatis的Batch处理导致秒杀系统超卖的问题
查看>>
远程备份电脑 —— 方案二:不需要使用.bat批运行文件
查看>>
解决Redhat Linux5 yum出现This system is not registered with RHN的方法
查看>>
10.23 linux任务计划cron 10.24 chkconfig工具 10.25 systemd管理服务 10.26 unit介绍 10.27 target介绍...
查看>>
2015/01/26PP租车面试总结
查看>>
荷露叮咚wp建站系列视频课程1.WordPress基本介绍
查看>>
在线重启Exadata CELL
查看>>
我的友情链接
查看>>