V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
Amy772147489
V2EX  ›  问与答

为什么 word 文档的命名可以有空格

  •  
  •   Amy772147489 · 2016-12-13 09:15:04 +08:00 · 1823 次点击
    这是一个创建于 2704 天前的主题,其中的信息可能已经有所发展或是发生改变。

    本人是编程初学者,了解基本的文件命名规范,有一条就是不能有空格嘛。但为什么 word 文档的文件命名可以有空格? word 文档的命名有空格不会造成像编程文件那样的不往后读了吗?

    wwqgtxx
        1
    wwqgtxx  
       2016-12-13 09:24:34 +08:00 via iPhone
    为什么有空格就不往后读了? windows 更多目录都是带空格的,也没看到出半毛钱的问题,除了一些蛋疼的工控软件以及部分从 linux 移植过来的程序
    ragnaroks
        2
    ragnaroks  
       2016-12-13 09:36:21 +08:00
    假设你在 Windows 下,取到的目录一般是"C:\文件夹 1\folder2\Sky Dust\文件 的 名字.txt",所以不会有什么问题
    crab
        3
    crab  
       2016-12-13 10:03:32 +08:00
    你说的空格应该是 NUL 吧?字符串遇到 00 截断。
    SilentDepth
        4
    SilentDepth  
       2016-12-13 10:04:58 +08:00
    所以为什么要有引号啊
    gamexg
        5
    gamexg  
       2016-12-13 12:20:44 +08:00
    "基本的文件命名规范"?
    说的是基本的变量命名规范吧?部分编程语言文件名不允许空格,大部分原因是文件名和类、命名空间保持一致,类、命名空间不允许存在空格,所以文件也不能存在空格。但是一些没有关联的语言允许文件名出现空格。

    然后类、命名空间不允许出现空格的原因是为了解析、书写方便,想象一个如果允许类型名称存在空格,那么怎么区分一个类名称是否结束?简单的解决办法就是前后加符号,例如 <class 1>,每次打类名称都需要加个<>,书写非常不方便,所以我知道的语言都不允许空格。

    文件路径都是用 / 分割目录名称,所以理论上只要文件、文件夹名称里面不出现 / 就不会出现歧义,所以就允许空格存在。

    另外 NULL (\0 ) 截断是 c 格式字符串才使用的字符串结束标记。 c 语言字符串本身不包含字符串长度信息,为了确定字符串结束位置,就在最后加一个 NULL(\0)来表示字符串结束。不过之后的语言大部分那都是字符串本身就带长度信息了,字符串内部存在 \0 也是允许的。
    kingddc314
        6
    kingddc314  
       2016-12-13 12:50:34 +08:00 via Android
    space(32)可不是\0 。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3677 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 00:07 · PVG 08:07 · LAX 17:07 · JFK 20:07
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.