Использование C++ в Windows XP, Windows 7 и Linux.
Чтение документации fopen (http://www.cplusplus.com/reference/cstdio/fopen/) о имени файла:
Строка C, содержащая имя файла, который нужно открыть. Его значение должно соответствовать спецификациям имени файла рабочей среды и может включать в себя путь (если поддерживается системой).
Что означает "текущая среда" в этом контексте? Операционная система или файловые системы?
Как определить, какое поддерживаемое имя файла для различных платформ (без проб и ошибок)?
Это означает, что в Windows вам нужно указать путь, используя прямую косую черту, в то время как в обратном слешках Linux/Unix (несмотря на тип файловой системы).
Пример имени файла Windows: C: /some_path/filename
Unix/Linux/Mac пример имени файла:\some_path\имя_файла
Также означает, что вы не можете нарушать имя сложения для имен файлов, например, Windows (NTFS, FAT,...) не позволяют использовать ?
caracter, а Linux.
Следовательно, вы можете сказать, что "рабочая среда" здесь относится как к операционной системе, так и к файловой системе.