首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何根据扩展名动态获取文件名?

如何根据扩展名动态获取文件名?
EN

Stack Overflow用户
提问于 2009-02-05 10:37:10
回答 3查看 451关注 0票数 0

作为这个问题的后续行动..。

现在,我通过用户j_random_hacker的评论找到了这个问题的答案。这里Windows遵循8.3文件命名标准,这意味着turbo c只能读取名称长度为8个字符、扩展名为3个字符的文件。因此,windows将为不遵循8.3命名标准的任何文件提供另一个名称。与我的例子一样,Windows为HIBDS~1提供了the 作为HI.TTCN的实际文件名。

现在我的问题是,我想在运行时将该文件名作为参数,如下所示

glc hi.ttcn 这里,glc是我的.exe文件,它将检查编码准则违反情况,而hi.ttcn是要检查的实际TTCN文件。因此,正如上面所述,问题在于窗口给hi.ttcn提供了其他名称,所以我的程序无法打开该文件,因为我给出了相同的参数字符串"hi.ttcn“来打开”文件名不存在“。因此,如何在运行时获得给定参数字符串的窗口分配文件名(这意味着当给定"HI.TTCN“时,我希望得到字符串"HIBDS~1.TTC”)。

EN

回答 3

Stack Overflow用户

发布于 2009-02-05 11:16:56

好的,下面是描述您需要调用的Win32函数的页面:

GetShortPathName函数

您需要将#include <windows.h>放在程序的顶部,并且可能会跳过更多的循环,以便在这样一个旧的编译器上编译(也许Turbo甚至没有附带Windows?)祝好运!

票数 3
EN

Stack Overflow用户

发布于 2009-02-05 10:51:06

我相信这是可以做到的,但这是很棘手的,因为它需要深入研究多毛的Win32 API调用。简单地使用现代编译器重新编译会容易得多--有什么原因不能这样做吗?

下面是两个免费的、高质量的C/C++编译器的链接,它们在长文件名方面不会有任何问题:MicrosoftVisualC++速成版MinGW

票数 2
EN

Stack Overflow用户

发布于 2009-02-05 13:12:30

还可以使用dir /x从命令行获取短文件名。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/515351

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档