VC2012调用_tsplitpath_s,产生ERANGE(34)的错误

本文详细介绍了如何使用C++和VC2012通过TCHAR数组获取当前进程的完整文件路径,包括盘符、目录、文件名和后缀名的分割方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

如果你的代码是C++,并且是VC2012,采用下面的调用。


	TCHAR szModuleFileName[MAX_PATH] = {0}; // 全路径名

	TCHAR drive[_MAX_DRIVE] = {0}; // 盘符名称,比如说C盘啊,D盘啊

	TCHAR dir[_MAX_DIR] = {0}; // 目录

	TCHAR fname[_MAX_FNAME] = {0}; // 进程名字

	TCHAR ext[_MAX_EXT] = {0}; //后缀,一般为exe或者是dll


	if (NULL == GetModuleFileName(NULL, szModuleFileName, MAX_PATH)) //获得当前进程的文件路径
		return _T("");

	errno_t err = _tsplitpath_s( szModuleFileName, 
		drive,
		dir,
		fname,
		ext); //分割该路径,得到盘符,目录,文件名,后缀名


评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值