Можно ли создать и открыть файл (новый файл) с нестандартным расширением, например.xyz,.abc и т.д. В c++?
ofstream x("file.xyz",ios::out|ios::app);
Будет ли этот файл создан и если он вообще создается, какой формат данных может хранить этот файл? То есть, будет ли это бинарным, текстовым или что-то еще?
Имена файлов - это просто имена. Расширения могут быть любыми, что вы хотите, чтобы они были, и то же самое с содержимым. Наличие одного трехбуквенного расширения является просто левым с старых дней DOS (или, возможно, ранее CP/M). Сегодня они не имеют никакого значения на обычном ПК, независимо от операционной системы. На самом деле, существует только так много трехбуквенных комбинаций, поэтому расширение xyz
, безусловно, использовалось ранее другими программами, возможно, много раз, а затем, скорее всего, с совершенно разными (и несовместимыми) форматами.
Если вы откроете простой ostream
c++
это не повлияет на расширение файла. Он будет открыт как текстовый файл в режиме добавления. Однако при двойном щелчке по файлу из операционной системы он может попытаться выполнить его или сделать некоторые другие странные вещи, поэтому обычно рекомендуется не использовать существующие расширения со специальным значением.