宝峰科技

 找回密码
 注册

QQ登录

只需一步,快速开始

智能终端设备维修查询系统注册会员邮箱认证须知!
查看: 8104|回复: 2

【叶子出品】FreeBasic 根据文件路径获取 目录、文件名、后缀

[复制链接]

该用户从未签到

叶子的离开 发表于 2015-8-30 14:40:52 | 显示全部楼层 |阅读模式

欢迎您注册加入!这里有您将更精采!

您需要 登录 才可以下载或查看,没有账号?注册

x
本代码采用 crt 实现,为什么呢?因为FB的标准库太坑了,除了混乱的类型以外,也会明显增量程序,并且性能很差。

上代码~

[Visual Basic] 纯文本查看 复制代码
Function GetPathFloder(sInPath As ZString Ptr, sOutPath As ZString Ptr) As Integer
	Dim rstr As ZString Ptr = StrRChr(sInPath, 92)
	If rstr Then
		memcpy(sOutPath, sInPath, rstr - sInPath)
		Return -1
	EndIf
End Function

Function GetPathFileName(sInPath As ZString Ptr, sOutPath As ZString Ptr) As Integer
	Dim rstr As ZString Ptr = StrRChr(sInPath, 92)
	If rstr Then
		strcpy(sOutPath, rstr + 1)
		Return -1
	EndIf
End Function

Function GetFileFileType(sInPath As ZString Ptr, sOutPath As ZString Ptr) As Integer
	Dim rstr As UByte Ptr = StrRChr(sInPath, 46)
	If rstr Then
		For i As Integer = 1 To strlen(rstr)
			sOutPath[i-1] = toupper(rstr[i])
		Next
		Return -1
	EndIf
End Function

Function GetPathFileType(sInPath As ZString Ptr, sOutPath As ZString Ptr) As Integer
	Dim TmpPath As ZString Ptr = malloc(MAX_PATH)
	If GetPathFileName(sInPath, TmpPath) Then
		If GetFileFileType(TmpPath, sOutPath) Then
			free(TmpPath)
			Return -1
		EndIf
	EndIf
	free(TmpPath)
End Function

该用户从未签到

 楼主| 叶子的离开 发表于 2015-9-6 10:19:36 | 显示全部楼层

c runtime。
对于windows来说,一般指 msvcrt.dll
您需要登录后才可以回帖 登录 | 注册

本版积分规则

免责声明

本站中所有被研究的素材与信息全部来源于互联网,版权争议与本站无关。本站所发布的任何软件编程开发或软件的逆向分析文章、逆向分析视频、补丁、注册机和注册信息,仅限用于学习和研究软件安全的目的。全体用户必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容。学习编程开发技术或逆向分析技术是为了更好的完善软件可能存在的不安全因素,提升软件安全意识。所以您如果喜欢某程序,请购买注册正版软件,获得正版优质服务!不得将上述内容私自传播、销售或者用于商业用途!否则,一切后果请用户自负!

QQ|Archiver|手机版|小黑屋|联系我们|宝峰科技 ( 滇公网安备 53050202000040号 | 滇ICP备09007156号-2 )

Copyright © 2001-2023 Discuz! Team. GMT+8, 2024-12-22 01:33 , File On Powered by Discuz! X3.49

快速回复 返回顶部 返回列表