我正在使用fopen参与辩论。我可以做些什么来确保fopen实际上将字符串转换为有效的文件名?
答案 0 :(得分:7)
头号方法是尝试打开文件。如果fopen()
返回NULL,则表示存在错误。检查errno
变量或函数以找出问题。
尝试预处理文件规范是徒劳的。操作系统将为您执行所有相关检查,包括您难以执行的检查,例如检查文件保护ACL等。
答案 1 :(得分:1)
问题不明确,但如果您想知道您所指定的文件名是否指向现有文件,则可以使用access
(Linux documentation)(Windows documentation)