从不同的角度接近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, "#")
)我保证文件名不会破坏我的程序吗?
答案 0 :(得分:3)
只有两个字符。空字节'\0'
和斜杠'/'
。
请参阅Wikipedia:
在类Unix文件系统中,空字符,因为它是字符串结束指示符和路径分隔符/被禁止。
而是做@meagar说的话,并逃避你正在使用的任何角色。
答案 1 :(得分:0)
正如其他人所指出的那样,唯一的保证是null或'/'但是如果你想使用别的东西,文件名中比comma更常用的字符(实际上相当常见)将是换行符。