- c++遍历文件夹下指定后缀的文件
chen_znn
c++c++
dirent.hdirent.h是一个头文件,它包含了在文件系统中进行目录操作的函数和数据结构的声明。dirent.h是基于POSIX标准的头文件,因此在大多数类Unix系统(包括Linux)上都可以使用。以下是一些dirent.h头文件中常用的函数和数据结构:DIR结构体:表示一个目录流,用于操作目录。structdirent结构体:表示一个目录项,包含文件名和文件类型等信息。opendir函数
- 用C语言实现递归的实现和文件夹的拷贝
琳媚儿
#include"stdio.h"#include"sys/stat.h"#include"dirent.h"#include"unistd.h"#include"string.h"#include"stdlib.h"voidmkdirs(char*);//创建多级目录voidfile_copy(char*,char*);//文件拷贝voiddir_copy(char*,char*);//目录拷贝
- Visual Studio 2022 cmake编译 PP-OCRv4
mingo_敏
C\C++DeepLearningvisualstudioide
1环境准备下载PaddleOCRPaddleOCRC++部署代码位于PaddleOCR\deploy\cpp_infer目录下paddle_inferencepaddle_inferenceopencv这里使用已经安装好的opencv4.5.5下载dirent-master.zip下载dirent-master.zip,解压并复制dirent.h文件到PaddleOCR\deploy\cpp_in
- 项目总结 之 C++获取文件夹下所有文件
逸然逸生
C++c++c语言
在最近做的一个项目中,需要一个获取一个文件夹下文件的功能,之前一直对文件的操作一直停留在对文件的读写,还从来没有接触过文件夹相关的操作。因此,这次有幸使用了,还是记录下来吧,以后肯定也会有很多使用的机会。参考博客C++文件/文件夹操作1本人项目中使用的方法(算比较蠢的吧,还是代码写的太少了。。)需要使用dirent.h这个头文件,然后使用的基本流程是opendir->readdir->closed
- VS2017/2019 无法打开包括文件: “dirent.h”: No such file or directory
ve2102388688
VS2017/vscode
目录1“dirent.h”:Nosuchfileordirectory2只需要把下面的代码保存dirent.h即可,直接放在工程目录下。1“dirent.h”:Nosuchfileordirectory在windows下的VS2017/2019编译器中,发现无法打开“dirent.h”,主要是MSVC并没有实现这个头文件,但是在Linux这个头文件肯定是有的。为此,有人已经写出了WIndows下可
- 【Visual Studio】无法打开包括文件: “dirent.h”: No such file or directory
dataloading
单片机stm32嵌入式硬件
VS2017/2019无法打开包括文件:“dirent.h”:Nosuchfileordirectory1“dirent.h”:Nosuchfileordirectory在windows下的VS2017/2019编译器中,发现无法打开“dirent.h”,主要是MSVC并没有实现这个头文件,但是在Linux这个头文件肯定是有的。为此,有人已经写出了WIndows下可用的“dirent.h”。这是g
- VS构建项目报错信息及解决办法02
What’smean
VSC++c++VS
报错信息及解决3:报错信息详情:fatalerrorC1083:无法打开包括文件:“dirent.h”:Nosuchfileordirectory原因:项目为Linux环境下的,而在windows下VS中的MSVC并没有实现“dirent.h”头文件。解决办法:自定义头文件并进行添加,头文件链接https://github.com/tronkko/dirent头文件详情:/**Direntinte
- C++ <dirent.h>目录操作函数
pj_wxyjxy
C++c++
包含头文件#includestructdirent结构structdirent{longd_ino;/*inodenumber索引节点号*/off_td_off;/*offsettothisdirent在目录文件中的偏移*/unsignedshortd_reclen;/*lengthofthisd_name文件名长*/unsignedchard_type;/*thetypeofd_name文件类型
- C语言学习:文件操作--删除指定后缀文件
余宁C
C语言学习
前言在处理大量文件时,有一些文件不是我们想要的,我们常常需要动手删除,如果可以自己做一个程序替我们处理这些有固定特征的文件就好了。参考资料(21条消息)dirent.h使用详解_怪囧小窝-CSDN博客_dirent.h其它的参考资料比较碎片,都是百度的,就不放了。程序使用情况代码#include#include#include/*判断文件是否自己想要的,参数:文件名,后缀名;返回值1,0*/cha
- dirent.h windows安装
WAI_f
编程语言
简介 dirent.h是一个能够遍历文件和目录的API,通常unix系统会提供这个文件,但是VS缺少这个API。需要自己安装一下这个文件,关于这个文件的详细说明,可以点击查看链接。下载 文件下载地址:官网下载地址 文件下载地址:百度云下载 提取码:dkti安装 进入下载页面后选择最新的dirent.h文件,目前最新的是dirent-1.21.zip,下载完成后解压,将include文件夹
- EasyX炫酷拼图
有头发的琦玉
C语言EasyXc++c语言easyui
运行效果菜单选图片页面(自动获取文件夹内图片)游戏页面游戏结束页面视频演示B站视频说明有空的时候会录视频教各位怎么实现这个小游戏。视频长度为1小时左右。源码main.cpp#include#include#include#include#include#include#include"dirent.h"#include#include#include#include"Part.h"#include
- PaddleDetection部署c++测试图片视频 (win10+vs2017)
[空--白]
解决报错PaddleDetection部署C++c++paddlepaddlecmake
文章目录前言1、必要环境2、安装2.1安装依赖库2.2配置opencv环境2.3下载PaddleDetection源码3、编译+生成4、解决vs生成报错4.1错误:C1083无法打开包括文件:"dirent.h":Nosuchfileordirectory4.2报错C3861“lstat”:找不到标识符4.3报错MSB3073命令“setlocal5、测试5.1报错找不到paddle_infere
- UNIX环境高级编程笔记(1)UNIX基础知识
jiangwei0512
Linuxlinuxunix
目录操作/usr/include/dirent.h:/*OpenadirectorystreamonNAME.ReturnaDIRstreamonthedirectory,orNULLifitcouldnotbeopened.Thisfunctionisapossiblecancellationpointandthereforenotmarkedwith__THROW.*/externDIR*op
- windows下类似linux readdir()读取文件
uestcjerry
Linux
仿写头文件dirent.h模拟linux下头文件myDirent.h#ifndefMYDIRENT_H#defineMYDIRENT_Htypedefstruct_dirdesc{intdd_fd;/**filedescriptorassociatedwithdirectory*/longdd_loc;/**offsetincurrentbuffer*/longdd_size;/**amounto
- linux下mkdir -v mkdir -p下的经验
hello_bravo_
mkdir-v:可以用dirent.h的结构体遍历目录看是否已经有了我们要创建的文件,有就不创建,没有就创建别的就小心好提示信息就好了,要细致的话就要好好考虑所有的可能就好了,也不是很难mkdir-p:有了之前递归拷贝的经验,递归创建真的太太太简单了!反正目录同步就好了这两个功能的实现都不难,唯一麻烦的的就是你要看仔细他们原本的提示信息和错误报告,然后尽量实现全面就好了。
- 跨平台的目录遍历实现方法(windows和linux已经测试)
weixin_30896657
dirent.h是gcc下的一个头文件,在windows中是没有的。这个文件中封装了几个对目录进行操作函数:staticDIR*opendir(constchar*dirname);staticstructdirent*readdir(DIR*dirp);staticintclosedir(DIR*dirp);对于在linux->windows之间进行程序移植来讲常常会造成一些困扰。有一个开源的源
- VS RTKLIB调试错误
xplicsdn
1.错误(活动)E0144“constchar*”类型的值不能用于初始化“char*”类型的实体解决办法:在项目属性->C/C+±>语言中的符合模式项选择否。2.无法打开源文件pthread.h无法打开包括文件:“dirent.h”:解决办法:项目->管理Nuget程序包->左边选择全部,右边搜索框搜索pthread出现PthreadsLibrary,点击安装。3.无法打开源文件rtklib.h解
- C/C++获取文件夹下所有文件的名字及全路径
邦戈栗子
C/C++
在实际中,会遇到需要通过程序获取当前路径下所有文件的名称,以下函数可以实现获取所给路径下文件名及文件对应的全路径;需要包含文章末尾的两个头文件#include#include"dirent.h"#include"unistd.h"usingnamespacestd;vectorVecFilePathNames;vectorVecSubNames;voidFindFileName(stringpat
- Linux系统下dirent.h和sys/types.h中的opendir/fdopendir/closedir/readdir/rewinddir/telldir/seekdir——C语言
Love丶伊卡洛斯
CLinuxCLinuxdirent.hopendir
opendir/fdopendir/closedir/readdir/rewinddir/telldir/seekdir#include#includeDIR*opendir(constchar*name);功能:打开一个目录流返回值:目录流(链表)DIR*fdopendir(intfd);功能:使用文件描述获取目录流,fd必须是目录流structdirent*readdir(DIR*dirp);
- Linux编程常用的头函数
weixin_33743661
操作系统数据结构与算法数据库
2019独角兽企业重金招聘Python工程师标准>>>linux常用C头文件aio.h异步I/Oassert.h验证程序断言complex复数类complex.h复数处理cpio.hcpio归档值ctype.h字符类型dirent.h目录项,opendir(),closedir(),readdir(),readdir64()dlfcn.h动态链接errno.h出错码exception异常处理类fc
- struct dirent
kevin_darkelf
linux
structdirent{ino_td_ino;off_td_off;unsignedshortd_reclen;unsignedchard_type;chard_name[256];};Unix环境高级编程_1.3文件与目录文件条目头文件:dirent.h/usr/include/dirent.h结构:DIRdirectorystream该结构用于定义路径包括:ino_td_ino文件编号在中定
- dirent.h使用详解
strange_jiong
linuxcommandc
LINUX下历遍目录的方法一般是这样的打开目录-》读取-》关闭目录相关函数是opendir->readdir->closedir#includeDIR*opendir(constchar*dirname);structdirent*readdir(DIR*dirp);intclosedir(DIR*dirp);好了,三个函数都出来了,原型就是上面。opendir用于打开目录,是类似于流的那种方式,
- [C] dirent.h库函数以及extern语法的介绍
Muge_
C
问题前导我在读《Unix环境高级编程》的第一章,其中给出了一个Unix环境下ls命令的简单例子:#include#include"apue.h"intmain(intargc,char*argv[]){DIR*dp;structdirent*dirp;if(agrc!=2)err_quit("usage:lsdirectory_name");if((dp=opendir(argv[1]))==NU
- 【批量读取文件夹中图片路径】使用c++ 中dirent.h 或者使用opencv3中的cv::glob
曾小水
#OpenCV计算机视觉相关
源码上一层文件夹test中存储的图片使用两种不同方法读取的结果总的代码#include//#include#include#include#include#include#includeusingnamespacestd;usingnamespacecv;voidreadImgs_opencv3x();voidreadImgs_dirent();intmain(){readImgs_dirent(
- 文件夹复制(Linux)
SummerC0ld
C实现#include"unistd.h"//所需头文件定义#include"string.h"#include"dirent.h"#include"utime.h"#include"stdio.h"#include"sys/types.h"#include"sys/stat.h"#include"fcntl.h"#defineMAX_PATH1024//定义最大路径长度voidcopy_data
- dirent.h文件
任重道远-HSY
dirent.h头文件1/*2*DirentinterfaceforMicrosoftVisualStudio3*4*Copyright(C)1998-2019ToniRonkko5*Thisfileispartofdirent.Direntmaybefreelydistributed6*undertheMITlicense.Foralldetailsanddocumentation,see7*h
- 文件类型分类:头文件dirent.h中定义的文件类型与linux内文件符号对应关系
撒欢
头文件dirent.h定义了文件类型;enum{DT_UNKNOWN=0,//未知类型DT_FIFO=1,//firstin,firstout类似于管道,有名管道DT_CHR=2,//字符设备文件DT_DIR=4,//目录DT_BLK=6,//块设备文件DT_REG=8,//普通文件DT_LNK=10,//连接文件DT_SOCK=12,//套接字类型DT_WHT=14//};与linux内文件符号
- Linux统计目录内的文件 c语言
xiamigan
readdir函数的使用方式头文件:#include#include定义函数:structdirent*readdir(DIR*dir);函数说明:返回值:成功则返回下个目录进入点。有错误发生或读取到目录文件尾则返回NULL.结构体dirent定义如下(在linux下搜索dirent.h即可找到):structdirent{#ifndef__USE_FILE_OFFSET64__ino_td_in
- 问题整理 [已解决] - Debian10 下编译 OpenJDK-8 源码 - [-Wdeprecated-declarations]
desiyonan
java问题jdklinux错误集
Warning:××בintreaddir_r(DIR*,dirent*,dirent**)’isdeprecated(declaredat/usr/include/dirent.h:183)[-Wdeprecated-declarations]×××具体警告提示:/mnt/Data/AppsData/Repository/java/jdk/8/hotspot/src/os/linux/vm/o
- Linux下c++遍历文件夹中文件及读取绝对路径
wunature2010
语言
文件读取等操作是程序编写的基础,因此在总结了网上多个博客的基础上,写出了如下读取文件及保存绝对路径的代码片段,整理出来供大家学习注意,这里dirent.h是只有在Linux下才有的#include#include"fstream"#include#include#includeDIR*dir;structdirent*ptr;charfile_list[100][40];inti=0;charsr
- VMware Workstation 11 或者 VMware Player 7安装MAC OS X 10.10 Yosemite
iwindyforest
vmwaremac os10.10workstationplayer
最近尝试了下VMware下安装MacOS 系统,
安装过程中发现网上可供参考的文章都是VMware Workstation 10以下, MacOS X 10.9以下的文章,
只能提供大概的思路, 但是实际安装起来由于版本问题, 走了不少弯路, 所以我尝试写以下总结, 希望能给有兴趣安装OSX的人提供一点帮助。
写在前面的话:
其实安装好后发现, 由于我的th
- 关于《基于模型驱动的B/S在线开发平台》源代码开源的疑虑?
deathwknight
JavaScriptjava框架
本人从学习Java开发到现在已有10年整,从一个要自学 java买成javascript的小菜鸟,成长为只会java和javascript语言的老菜鸟(个人邮箱:
[email protected])
一路走来,跌跌撞撞。用自己的三年多业余时间,瞎搞一个小东西(基于模型驱动的B/S在线开发平台,非MVC框架、非代码生成)。希望与大家一起分享,同时有许些疑虑,希望有人可以交流下
平台
- 如何把maven项目转成web项目
Kai_Ge
mavenMyEclipse
创建Web工程,使用eclipse ee创建maven web工程 1.右键项目,选择Project Facets,点击Convert to faceted from 2.更改Dynamic Web Module的Version为2.5.(3.0为Java7的,Tomcat6不支持). 如果提示错误,可能需要在Java Compiler设置Compiler compl
- 主管???
Array_06
工作
转载:http://www.blogjava.net/fastzch/archive/2010/11/25/339054.html
很久以前跟同事参加的培训,同事整理得很详细,必须得转!
前段时间,公司有组织中高阶主管及其培养干部进行了为期三天的管理训练培训。三天的课程下来,虽然内容较多,因对老师三天来的课程内容深有感触,故借着整理学习心得的机会,将三天来的培训课程做了一个
- python内置函数大全
2002wmj
python
最近一直在看python的document,打算在基础方面重点看一下python的keyword、Build-in Function、Build-in Constants、Build-in Types、Build-in Exception这四个方面,其实在看的时候发现整个《The Python Standard Library》章节都是很不错的,其中描述了很多不错的主题。先把Build-in Fu
- JSP页面通过JQUERY合并行
357029540
JavaScriptjquery
在写程序的过程中我们难免会遇到在页面上合并单元行的情况,如图所示
如果对于会的同学可能很简单,但是对没有思路的同学来说还是比较麻烦的,提供一下用JQUERY实现的参考代码
function mergeCell(){
var trs = $("#table tr");
&nb
- Java基础
冰天百华
java基础
学习函数式编程
package base;
import java.text.DecimalFormat;
public class Main {
public static void main(String[] args) {
// Integer a = 4;
// Double aa = (double)a / 100000;
// Decimal
- unix时间戳相互转换
adminjun
转换unix时间戳
如何在不同编程语言中获取现在的Unix时间戳(Unix timestamp)? Java time JavaScript Math.round(new Date().getTime()/1000)
getTime()返回数值的单位是毫秒 Microsoft .NET / C# epoch = (DateTime.Now.ToUniversalTime().Ticks - 62135
- 作为一个合格程序员该做的事
aijuans
程序员
作为一个合格程序员每天该做的事 1、总结自己一天任务的完成情况 最好的方式是写工作日志,把自己今天完成了什么事情,遇见了什么问题都记录下来,日后翻看好处多多
2、考虑自己明天应该做的主要工作 把明天要做的事情列出来,并按照优先级排列,第二天应该把自己效率最高的时间分配给最重要的工作
3、考虑自己一天工作中失误的地方,并想出避免下一次再犯的方法 出错不要紧,最重
- 由html5视频播放引发的总结
ayaoxinchao
html5视频video
前言
项目中存在视频播放的功能,前期设计是以flash播放器播放视频的。但是现在由于需要兼容苹果的设备,必须采用html5的方式来播放视频。我就出于兴趣对html5播放视频做了简单的了解,不了解不知道,水真是很深。本文所记录的知识一些浅尝辄止的知识,说起来很惭愧。
视频结构
本该直接介绍html5的<video>的,但鉴于本人对视频
- 解决httpclient访问自签名https报javax.net.ssl.SSLHandshakeException: sun.security.validat
bewithme
httpclient
如果你构建了一个https协议的站点,而此站点的安全证书并不是合法的第三方证书颁发机构所签发,那么你用httpclient去访问此站点会报如下错误
javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: PKIX path bu
- Jedis连接池的入门级使用
bijian1013
redisredis数据库jedis
Jedis连接池操作步骤如下:
a.获取Jedis实例需要从JedisPool中获取;
b.用完Jedis实例需要返还给JedisPool;
c.如果Jedis在使用过程中出错,则也需要还给JedisPool;
packag
- 变与不变
bingyingao
不变变亲情永恒
变与不变
周末骑车转到了五年前租住的小区,曾经最爱吃的西北面馆、江西水饺、手工拉面早已不在,
各种店铺都换了好几茬,这些是变的。
三年前还很流行的一款手机在今天看起来已经落后的不像样子。
三年前还运行的好好的一家公司,今天也已经不复存在。
一座座高楼拔地而起,
- 【Scala十】Scala核心四:集合框架之List
bit1129
scala
Spark的RDD作为一个分布式不可变的数据集合,它提供的转换操作,很多是借鉴于Scala的集合框架提供的一些函数,因此,有必要对Scala的集合进行详细的了解
1. 泛型集合都是协变的,对于List而言,如果B是A的子类,那么List[B]也是List[A]的子类,即可以把List[B]的实例赋值给List[A]变量
2. 给变量赋值(注意val关键字,a,b
- Nested Functions in C
bookjovi
cclosure
Nested Functions 又称closure,属于functional language中的概念,一直以为C中是不支持closure的,现在看来我错了,不过C标准中是不支持的,而GCC支持。
既然GCC支持了closure,那么 lexical scoping自然也支持了,同时在C中label也是可以在nested functions中自由跳转的
- Java-Collections Framework学习与总结-WeakHashMap
BrokenDreams
Collections
总结这个类之前,首先看一下Java引用的相关知识。Java的引用分为四种:强引用、软引用、弱引用和虚引用。
强引用:就是常见的代码中的引用,如Object o = new Object();存在强引用的对象不会被垃圾收集
- 读《研磨设计模式》-代码笔记-解释器模式-Interpret
bylijinnan
java设计模式
声明: 本文只为方便我个人查阅和理解,详细的分析以及源代码请移步 原作者的博客http://chjavach.iteye.com/
package design.pattern;
/*
* 解释器(Interpreter)模式的意图是可以按照自己定义的组合规则集合来组合可执行对象
*
* 代码示例实现XML里面1.读取单个元素的值 2.读取单个属性的值
* 多
- After Effects操作&快捷键
cherishLC
After Effects
1、快捷键官方文档
中文版:https://helpx.adobe.com/cn/after-effects/using/keyboard-shortcuts-reference.html
英文版:https://helpx.adobe.com/after-effects/using/keyboard-shortcuts-reference.html
2、常用快捷键
- Maven 常用命令
crabdave
maven
Maven 常用命令
mvn archetype:generate
mvn install
mvn clean
mvn clean complie
mvn clean test
mvn clean install
mvn clean package
mvn test
mvn package
mvn site
mvn dependency:res
- shell bad substitution
daizj
shell脚本
#!/bin/sh
/data/script/common/run_cmd.exp 192.168.13.168 "impala-shell -islave4 -q 'insert OVERWRITE table imeis.${tableName} select ${selectFields}, ds, fnv_hash(concat(cast(ds as string), im
- Java SE 第二讲(原生数据类型 Primitive Data Type)
dcj3sjt126com
java
Java SE 第二讲:
1. Windows: notepad, editplus, ultraedit, gvim
Linux: vi, vim, gedit
2. Java 中的数据类型分为两大类:
1)原生数据类型 (Primitive Data Type)
2)引用类型(对象类型) (R
- CGridView中实现批量删除
dcj3sjt126com
PHPyii
1,CGridView中的columns添加
array(
'selectableRows' => 2,
'footer' => '<button type="button" onclick="GetCheckbox();" style=&
- Java中泛型的各种使用
dyy_gusi
java泛型
Java中的泛型的使用:1.普通的泛型使用
在使用类的时候后面的<>中的类型就是我们确定的类型。
public class MyClass1<T> {//此处定义的泛型是T
private T var;
public T getVar() {
return var;
}
public void setVa
- Web开发技术十年发展历程
gcq511120594
Web浏览器数据挖掘
回顾web开发技术这十年发展历程:
Ajax
03年的时候我上六年级,那时候网吧刚在小县城的角落萌生。传奇,大话西游第一代网游一时风靡。我抱着试一试的心态给了网吧老板两块钱想申请个号玩玩,然后接下来的一个小时我一直在,注,册,账,号。
彼时网吧用的512k的带宽,注册的时候,填了一堆信息,提交,页面跳转,嘣,”您填写的信息有误,请重填”。然后跳转回注册页面,以此循环。我现在时常想,如果当时a
- openSession()与getCurrentSession()区别:
hetongfei
javaDAOHibernate
来自 http://blog.csdn.net/dy511/article/details/6166134
1.getCurrentSession创建的session会和绑定到当前线程,而openSession不会。
2. getCurrentSession创建的线程会在事务回滚或事物提交后自动关闭,而openSession必须手动关闭。
这里getCurrentSession本地事务(本地
- 第一章 安装Nginx+Lua开发环境
jinnianshilongnian
nginxluaopenresty
首先我们选择使用OpenResty,其是由Nginx核心加很多第三方模块组成,其最大的亮点是默认集成了Lua开发环境,使得Nginx可以作为一个Web Server使用。借助于Nginx的事件驱动模型和非阻塞IO,可以实现高性能的Web应用程序。而且OpenResty提供了大量组件如Mysql、Redis、Memcached等等,使在Nginx上开发Web应用更方便更简单。目前在京东如实时价格、秒
- HSQLDB In-Process方式访问内存数据库
liyonghui160com
HSQLDB一大特色就是能够在内存中建立数据库,当然它也能将这些内存数据库保存到文件中以便实现真正的持久化。
先睹为快!
下面是一个In-Process方式访问内存数据库的代码示例:
下面代码需要引入hsqldb.jar包 (hsqldb-2.2.8)
import java.s
- Java线程的5个使用技巧
pda158
java数据结构
Java线程有哪些不太为人所知的技巧与用法? 萝卜白菜各有所爱。像我就喜欢Java。学无止境,这也是我喜欢它的一个原因。日常
工作中你所用到的工具,通常都有些你从来没有了解过的东西,比方说某个方法或者是一些有趣的用法。比如说线程。没错,就是线程。或者确切说是Thread这个类。当我们在构建高可扩展性系统的时候,通常会面临各种各样的并发编程的问题,不过我们现在所要讲的可能会略有不同。
- 开发资源大整合:编程语言篇——JavaScript(1)
shoothao
JavaScript
概述:本系列的资源整合来自于github中各个领域的大牛,来收藏你感兴趣的东西吧。
程序包管理器
管理javascript库并提供对这些库的快速使用与打包的服务。
Bower - 用于web的程序包管理。
component - 用于客户端的程序包管理,构建更好的web应用程序。
spm - 全新的静态的文件包管
- 避免使用终结函数
vahoa.ma
javajvmC++
终结函数(finalizer)通常是不可预测的,常常也是很危险的,一般情况下不是必要的。使用终结函数会导致不稳定的行为、更差的性能,以及带来移植性问题。不要把终结函数当做C++中的析构函数(destructors)的对应物。
我自己总结了一下这一条的综合性结论是这样的:
1)在涉及使用资源,使用完毕后要释放资源的情形下,首先要用一个显示的方