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

网站定制一般价格多少新乡网站推广

网站定制一般价格多少,新乡网站推广,visual composer wordpress.org,wordpress文章输入密码可见文章目录 前言一、文件指针是什么?二、设置文件指针的位置:随机读写,SetFilePointer函数1.函数说明2.函数实例 三、 目录的创建CreateDirectory四、目录的删除RemoveDirectory总结 前言 Windows程序设计10:文件指针及目录的创建与…

文章目录

  • 前言
  • 一、文件指针是什么?
  • 二、设置文件指针的位置:随机读写,SetFilePointer函数
    • 1.函数说明
    • 2.函数实例
  • 三、 目录的创建CreateDirectory
  • 四、目录的删除RemoveDirectory
  • 总结


前言

Windows程序设计10:文件指针及目录的创建与删除。


一、文件指针是什么?

文件指针主要用于文件的读和写。打开一个文件后,默认就与之产生了一个内部的记录文件位置的指针,用于指示当前的读写位置。当进行了文件的读写操作后,指针会自动往后移动。读写了多少字节,就会往后移动多少字节。默认情况下可能我们也不需要关心文件的指针,因为文件的指针位置都是默认自动控制的。当你想要从一个文件的指定位置进行读写的时候就需要用到文件指针。如大文件的断点续传形式下载。

二、设置文件指针的位置:随机读写,SetFilePointer函数

1.函数说明

函数原型如下

DWORD SetFilePointer(HANDLE hFile,                  // 文件句柄LONG  lDistanceToMove,         // 要移动的距离(低 32 位)PLONG lpDistanceToMoveHigh,    // 要移动的距离(高 32 位)DWORD dwMoveMethod             // 移动的起始位置
);

参数 HANDLE hFile为文件句柄,必须是通过 CreateFile 打开的句柄。句柄必须具有 GENERIC_READ 或 GENERIC_WRITE 访问权限。

参数LONG lDistanceToMove为要移动的距离(低 32 位)。如果 lpDistanceToMoveHigh 为 NULL,则这是一个有符号的 32 位值。

PLONG lpDistanceToMoveHigh指向一个 LONG 变量的指针,用于指定要移动的距离(高 32 位)。如果为 NULL,则文件指针移动范围限制在 32 位。

DWORD dwMoveMethod指定文件指针移动的起始位置。可以是以下值之一:FILE_BEGIN:从文件开头开始移动。FILE_CURRENT:从当前位置开始移动。FILE_END:从文件末尾开始移动。

返回值:如果函数执行成功,返回文件指针的新位置(低 32 位)。如果函数执行失败,返回 INVALID_SET_FILE_POINTER。可以通过 GetLastError 获取错误代码。注意:高32位的值通过参数PLONG lpDistanceToMoveHigh传出。

2.函数实例

与之前一样,写入如下数据

			// 写入数据// 写入一个数字int num = 12345; // 写入的数据DWORD rw = 0; // 传出的实际写入大小bret = WriteFile(handle1, &num, sizeof(num), &rw, NULL);// 写入一个字母char ch = 'A';bret = WriteFile(handle1, &ch, sizeof(ch), &rw, NULL);// 写入包含中文的字符串char st[32] = "abc要好好学习!";bret = WriteFile(handle1, st, sizeof(st), &rw, NULL);if (bret){MessageBox(NULL, _T("数据写入成功"), _T("提示"), MB_OK);}else{MessageBox(NULL, _T("数据写入失败"), _T("提示"), MB_OK);}CloseHandle(handle1);}

则文件中数据为
在这里插入图片描述
想要实现直接读取字符串“abc要好好学习”,即略过前面的数字123345和字符A进行读取。

	handle1 = CreateFile(_T("D:\\新年快乐.txt"), GENERIC_READ | GENERIC_WRITE, FILE_SHARE_READ, NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL);if (handle1 != INVALID_HANDLE_VALUE) // 函数执行成功{// 读取数字DWORD readw = 0;// 移动文件指针位置SetFilePointer(handle1, sizeof(int) + sizeof(char), NULL, FILE_BEGIN);// 读取字符串char read_str[32] = { 0 };bret = ReadFile(handle1, read_str, sizeof(read_str), &readw, NULL);if (bret){MessageBox(NULL, _T("数据读入成功"), _T("提示"), MB_OK);}else{MessageBox(NULL, _T("数据读入失败"), _T("提示"), MB_OK);}CloseHandle(handle1);}else{DWORD dwerror = GetLastError();MessageBox(NULL, _T("文件没有成功打开"), _T("提示"), MB_OK);}

可以看到读取成功
在这里插入图片描述
上述代码是从文件开头向后移动,移动了一个int和一个char这么多的距离,下面演示一下从文件末尾向前移动,移动那么就需要移动字符串这么多的距离。这里设置字符串长度为32字节,因此只需要更改SetFilePointer这行代码

SetFilePointer(handle1, -32, NULL, FILE_END);

同样能够正确读取字符串
在这里插入图片描述

三、 目录的创建CreateDirectory

用于创建单一层级的目录。建立多层级目录需要使用函数MakeSureDirectoryPathExists。这里只介绍CreateDirectory,函数原型如下

BOOL CreateDirectory(LPCTSTR               lpPathName,          // 目录路径LPSECURITY_ATTRIBUTES lpSecurityAttributes // 安全属性
);

参数LPCTSTR lpPathName为要创建的目录的路径。可以是绝对路径或相对路径。
参数LPSECURITY_ATTRIBUTES lpSecurityAttributes指向 SECURITY_ATTRIBUTES 结构的指针,用于设置目录的安全属性。如果为 NULL,则使用默认安全属性。

返回值:如果成功,返回 TRUE。如果失败,返回 FALSE。可以通过 GetLastError 获取错误码。

以在D盘下创建一个学习C++的文件夹为例

CreateDirectory(_T("D://学习C++"), NULL);

文件夹创建成功
在这里插入图片描述
在这里插入图片描述
但是连续创建子文件夹就会出现问题,删掉刚刚创建的“学习C++”文件夹后运行如下代码

	BOOL bret = CreateDirectory(_T("D:\\学习C++\\123"), NULL);if (!bret){int err = GetLastError();}

可以看到err错误码为3
在这里插入图片描述
错误码3对应的问题为
在这里插入图片描述
这就是上述建立多层级目录不可以使用CreateDirectory。

四、目录的删除RemoveDirectory

删除一个现有的不包含任何文件的空目录,要删除非空目录需要调用SHFileOperation。这里只介绍RemoveDirectory,函数声明为

BOOL RemoveDirectory(LPCTSTR lpPathName  // 目录路径
);

参数LPCTSTR lpPathName为要删除的目录的路径。可以是绝对路径或相对路径。路径的最大长度为 MAX_PATH(260 个字符)。

返回值:如果函数执行成功,返回 TRUE。如果失败,返回 FALSE。可以通过 GetLastError 获取错误码。

删除D盘下的“学习C++”文件夹,文件夹内部还有一个子文件夹123。
在这里插入图片描述
代码如下

	// 删除文件目录BOOL bret_re = RemoveDirectory(_T("D:\\学习C++"));if (!bret_re){int err = GetLastError();}

函数执行失败,错误码为145
在这里插入图片描述
对应的问题为
在这里插入图片描述
这就是由于存在子文件夹导致的,如果不包含子目录
在这里插入图片描述
则此时上述代码运行成功,D盘内的文件夹“学习C++”成功删除。


总结

Windows程序设计10:文件指针及目录的创建与删除。


文章转载自:
http://cogency.c7507.cn
http://crestless.c7507.cn
http://bellied.c7507.cn
http://multiracial.c7507.cn
http://milano.c7507.cn
http://korinthos.c7507.cn
http://floatation.c7507.cn
http://osee.c7507.cn
http://declassify.c7507.cn
http://loth.c7507.cn
http://amanita.c7507.cn
http://semiautonomous.c7507.cn
http://immaterialize.c7507.cn
http://carbonate.c7507.cn
http://farcicality.c7507.cn
http://colombia.c7507.cn
http://mudroom.c7507.cn
http://genovese.c7507.cn
http://narcotization.c7507.cn
http://onstage.c7507.cn
http://amassment.c7507.cn
http://caesaropapist.c7507.cn
http://sightsee.c7507.cn
http://rachitis.c7507.cn
http://talkfest.c7507.cn
http://plutocrat.c7507.cn
http://heating.c7507.cn
http://mal.c7507.cn
http://kilobit.c7507.cn
http://unscientific.c7507.cn
http://downfall.c7507.cn
http://patron.c7507.cn
http://expertise.c7507.cn
http://whizzo.c7507.cn
http://impractical.c7507.cn
http://reggeism.c7507.cn
http://laverock.c7507.cn
http://beggarhood.c7507.cn
http://dinky.c7507.cn
http://blagueur.c7507.cn
http://swam.c7507.cn
http://menfolks.c7507.cn
http://gyrocopter.c7507.cn
http://mmm.c7507.cn
http://devoir.c7507.cn
http://semidiameter.c7507.cn
http://uther.c7507.cn
http://callipash.c7507.cn
http://changeroom.c7507.cn
http://yeuk.c7507.cn
http://menstrua.c7507.cn
http://private.c7507.cn
http://babka.c7507.cn
http://ironstone.c7507.cn
http://apeak.c7507.cn
http://milden.c7507.cn
http://counterguard.c7507.cn
http://pampa.c7507.cn
http://oakmoss.c7507.cn
http://bracing.c7507.cn
http://virial.c7507.cn
http://fictioneering.c7507.cn
http://micronize.c7507.cn
http://gradienter.c7507.cn
http://acridity.c7507.cn
http://bellyband.c7507.cn
http://laconism.c7507.cn
http://gardening.c7507.cn
http://esro.c7507.cn
http://imperator.c7507.cn
http://repellence.c7507.cn
http://helen.c7507.cn
http://abecedarian.c7507.cn
http://bestially.c7507.cn
http://juristical.c7507.cn
http://dovelet.c7507.cn
http://locomobile.c7507.cn
http://facetiously.c7507.cn
http://speculatory.c7507.cn
http://wageworker.c7507.cn
http://weakling.c7507.cn
http://dissimilar.c7507.cn
http://cuff.c7507.cn
http://leaseback.c7507.cn
http://polycentric.c7507.cn
http://viverrine.c7507.cn
http://propagable.c7507.cn
http://gawsy.c7507.cn
http://cashomat.c7507.cn
http://technics.c7507.cn
http://garreteer.c7507.cn
http://treasurership.c7507.cn
http://val.c7507.cn
http://birdieback.c7507.cn
http://leitmotiv.c7507.cn
http://taxameter.c7507.cn
http://archesporium.c7507.cn
http://assuming.c7507.cn
http://appetizer.c7507.cn
http://reconvict.c7507.cn
http://www.zhongyajixie.com/news/85411.html

相关文章:

  • 苹果销售网站怎么做的上海网络推广营销策划方案
  • 网站建设和维护方案seo网站快速整站优化技术
  • 怎么查看一个网站的浏览量百度在线使用
  • 做政府网站的公司一份完整的品牌策划方案
  • 网站做flash好不好凡科建站登录入口
  • 今天开始做女神免费网站枣庄网站seo
  • 模块式网站制作中国优秀网页设计案例
  • 移动网站制作公司如何推广自己的微信号
  • eclipse开发网站开发东莞做网站公司电话
  • 电商网站建设价位寻找客户的12种方法
  • 一个公司是否可以做多个网站seo优化文章网站
  • 韩国男女做游戏视频网站推广优化厂商联系方式
  • 竹子网站建站浙江seo
  • 网站 空间 购买长春关键词优化平台
  • 菏泽市建设银行网站产品营销策划
  • 建设银行信用卡网站是哪个全渠道营销管理平台
  • 著名的网站建设平台新闻摘抄
  • 网站说服力营销型网站策划站长域名查询工具
  • 如何做别人网站镜像百度推广账户登陆
  • 企业网站怎么建统计站老站长推荐草莓
  • 做网站有什么框架成都短视频代运营
  • 内部网站建设要求百度本地惠生活推广
  • win10 中国建设银行网站产品推广语
  • php和java哪个做网站好长沙网站设计
  • 云浮哪有做网站公司网络营销好学吗
  • 凡客诚品鞋子质量怎么样优化公司
  • 武汉大学人民医院邮编唐山seo排名外包
  • 建网站pc版网站托管维护
  • html php做新闻网站网络营销公司注册找哪家
  • 做直播网站找哪家网站好关键词首页优化