当前位置: 首页 > wzjs >正文

琼海网站制作成都网站优化排名

琼海网站制作,成都网站优化排名,上海网站建设平台,购物网站素材一、临时文件 临时文件大家都知道,有些数据需要短暂保存一下,这种临时文件其实没啥大用。然尔正是其没啥大用,有些场景下恰恰需要。比如一些不重要的日志数据,一些缓存的中间文件等等。这些数据最终会生成可持久化的数据或很快会…

一、临时文件

临时文件大家都知道,有些数据需要短暂保存一下,这种临时文件其实没啥大用。然尔正是其没啥大用,有些场景下恰恰需要。比如一些不重要的日志数据,一些缓存的中间文件等等。这些数据最终会生成可持久化的数据或很快会变得无用,那么这些临时文件就没作用了,会在一定条件触发将其删除。
不同的平台上,临时文件的处理位置有所不同,但基本上都可以一眼看出。一般常见的临时文件的位置如下:
Windows平台:C:\Users<用户名>\AppData\Local\Temp
Apple平台:/private/var/folders/和~/Library/Caches/
Linux平台:/tmp/和/var/tmp/

二、开发时如何处理临时文件

在开发时如果遇到需要处理临时文件时,有多种的处理方法,最简单的方法是自己操作传统的文件系统的API写到指定的位置(包括系统tmp文件夹)中,并在合适的条件下对其进行删除;但这样做有一个问题,不同的平台可能路径的处理不一样,就会让维护者或应用者感到不好管理,所以在常见的库中都提供了专门操作临时文件的接口,比如tmpfile函数和mkstemp、mkdtemp函数。前者创建的临时文件不需要开发者手动维护会在文件流关闭或程序终止时自动删除;而后者创建的临时文件夹和临时文件,需要开发者自己手动处理。
这和原来学过的堆和栈的处理方式有些相似。

三、临时文件的应用场景

临时文件的作用其实很大,经常用到的场景如下:
1、缓存(Cache):浏览器、软件缓存临时数据提高处理速度(如网页的Cookie、照片、视频等)
2、程序运行的中间状态:软件安装包解压、文档编辑时的自动保存文件、计算的中间数据、大文件的分段下载时的小文件等
3、系统和用户的临时数据:OS更新备份、日志以及进程间通过文件交互等
临时文件在应用过程中已经暴露了非常多的问题,主要有:
1、隐私泄露:浏览器的Cookie、缓存和历史记录等
2、浪费存储:大量的不能及时删除的临时文件占据了不少的硬盘空间,比如Windows的C盘经常会因为临时文件而暴红
3、系统应用:不小心删除某些临时文件会让系统应用出错,比如在编译一个较大工程时删除临时文件,可能导致编译错误

四、实例分析

#include <stdio.h>
#include <stdlib.h>int main() {FILE *tmp = tmpfile();if (tmp == NULL) {return -1;}fprintf(tmp, "test temp data.\n");rewind(tmp);char buf[100];if (fgets(buf, sizeof(buf), tmp) != NULL) {printf("read buf: %s", buf);}fclose(tmp);return 0;
}

再看一下使用mkstemp和 mkdtemp函数创建临时目录和临时文件:

//临时文件夹
#include <iostream>
#include <cstdlib>
#include <sys/stat.h>  // mkdir权限
#include <cstring>int main() {char tmpDirName[] = "/tmp/dir_XXXXXX";  // 模板尾部须含6个Xif (mkdtemp(tmpDirName) == nullptr) {return 1;}std::cout << "temp path: " << tmpDirName << std::endl;rmdir(tmpDirName);  return 0;
}
//临时文件
#include <iostream>
#include <cstdlib>
#include <unistd.h>   
#include <cstring>   int main() {char tmpName[] = "/tmp/testFile_XXXXXX"; int fd = mkstemp(tmpName);  if (fd == -1) {perror("mkstemp failed");return 1;}const char* content = "test data!\n";write(fd, data, strlen(content));close(fd);unlink(tmpName);return 0;
}

其实在C库中还有一个函数tmpnam可以用来创建不同的临时文件名,但它有不少的限制,所以这里就不再介绍了,有感兴趣的可以自行查找相关的资料即可。

五、总结

临时文件就是一个应用处理的中间态,一般情况下,这种中间态是不稳定的,所以临时文件往往意味着随时有可能会被清理。开发者要善于运用这种状态达到自己的一些设计目的,但千万不要在这种临时文件中一时兴起写一些重要的数据。
开发者也要有一双善于发现美的眼睛!

http://www.dtcms.com/wzjs/381278.html

相关文章:

  • 北京建网站定制价格电商网站订烟平台官网
  • 网站到底备案好不好营销型网站建设优化建站
  • 国家 住房城乡建设信用 网站湖南seo博客seo交流
  • 电脑如何免费安装wordpress东营网站seo
  • 网站二次开发是什么2345网址导航手机版
  • 接做网站私活郑州建网站的公司
  • 企业网站信息化建设嘉兴网站建设制作
  • 提供网站推广公司电话推广渠道有哪些平台
  • 企业网站建设实训总结自助发稿
  • 网站建设维护学习深圳seo外包公司
  • 企业展厅设计公司案例欣赏seo标题优化是什么意思
  • 网站建设需要配置环境么设计网站排行
  • 照片网站怎么做湖南网站建设平台
  • 网站首页快照更新快推广网站文案
  • 关于加强政府网站信息内容建设的意见 全文博客网站登录入口
  • 企业网站维护存在问题seo的理解
  • 手把手教你做网站 怎么注册域名如何做市场营销推广
  • wordpress建站说明广告信息发布平台
  • 国内知名网站建设百度人工客服电话怎么转人工
  • 免费网站管理系统下载网站推广关键词工具
  • 江苏成章建设集团有限公司官方网站电商自学网
  • 微信开发者工具使用教程整套郑州网站seo公司
  • 兴义城乡建设部网站盘搜搜
  • 效果图网站无缝连接网站建设需要多少钱?
  • Ui互联网门户网站建设手机推广软文
  • 网站开发翻译功能杭州小周seo
  • 个人网站建设架构外包网站有哪些
  • 怀化电视台网站正规教育培训机构
  • 网站建设 服务承诺新乡seo顾问
  • 深圳模板建站企业推手平台哪个靠谱