我需要规范化文件名,使其不包含任何不可移植的字符。有portable_file_name
但只是检查并返回布尔。我需要无论如何将给定的字符串转换为可移植的名称来创建文件。boost :: filesystem normalize filename
有没有可重用的作品?
我需要规范化文件名,使其不包含任何不可移植的字符。有portable_file_name
但只是检查并返回布尔。我需要无论如何将给定的字符串转换为可移植的名称来创建文件。boost :: filesystem normalize filename
有没有可重用的作品?
我假定您的意思是某些操作系统(例如Mac OS 9)上的某些字符(*:; \“?<>/\ |)可以作为文件名或路径名字符接受,但不能接受其他字符(例如Windows XP),这是正确的吗?
如果是这样,你可能应该自己进行字符转换。我过去通过使用正则表达式来查找和替换不可接受的文件名字符。破折号或东西,所有的目标操作系统上工作。然后,你可以放心地使用这些文件上都
试试这个:
boost :: filesystem3 :: path portable_file_name;
portable_file_name.normalize();
显然小功能函数可以很容易写出来。但我想避免,因为如果相同的可重复使用已经存在并且正在实践,为什么要重新创造同一轮。 – 2012-08-09 16:23:05