保证不在文件名中的字符(Unix / Ubuntu)

时间:2013-12-16 01:28:07

标签: linux ubuntu filenames

从不同的角度接近this question,我可以在下面的输入文件中使用哪个字符#

1#2#3#/home/user/foo.txt
4#5#6#/home/user/foo.test.---.txt
7#8#9#/home/user/foo. .   .!!+.txt
...

这样当我对它进行标记时(在C ++中使用strtok (str, "#"))我保证文件名不会破坏我的程序吗?

2 个答案:

答案 0 :(得分:3)

只有两个字符。空字节'\0'和斜杠'/'

请参阅Wikipedia

  

在类Unix文件系统中,空字符,因为它是字符串结束指示符和路径分隔符/被禁止。

而是做@meagar说的话,并逃避你正在使用的任何角色。

答案 1 :(得分:0)

正如其他人所指出的那样,唯一的保证是null或'/'但是如果你想使用别的东西,文件名中比comma更常用的字符(实际上相当常见)将是换行符。