Поскольку люди, похоже, обращаются к этому вопросу, когда речь заходит об ошибках компоновщика, я собираюсь добавить это здесь.
Одной из возможных причин ошибок компоновщика с GCC 5.2.0 является то, что новая библиотека libstdc ++ ABI теперь выбран по умолчанию.
Если вы получаете ошибки компоновщика о неопределенных ссылках на символы, которые включают типы в пространстве имен std :: __ cxx11 или теге [abi: cxx11], то это, вероятно, указывает на то, что вы пытаетесь связать файлы объектов, которые были скомпилированы с различными значениями для макроса _GLIBCXX_USE_CXX11_ABI. Это обычно происходит при подключении к сторонней библиотеке, которая была скомпилирована с более старой версией GCC. Если сторонняя библиотека не может быть перестроена с новым ABI, вам нужно будет перекомпилировать свой код со старым ABI.
blockquote>. Если вы вдруг получите ошибки компоновщика при переключении на GCC после 5.1.0 это было бы замечательно.
System.IO.File.WriteAllText (@"D:\path.txt", contents);
Пожалуйста, убедитесь, что у вас есть соответствующие права на запись в этом месте, иначе вы получите исключение.
Используйте метод File.WriteAllText
. Он создает файл, если он не существует, и перезаписывает его, если он существует.
Если вашему коду не требуется, чтобы файл был усечен первым, вы можете использовать FileMode.OpenOrCreate, чтобы открыть filestream, который будет создавать файл, если он не существует или открыть его, если это произойдет. Вы можете использовать поток, чтобы указать на фронт и начать перезаписывать существующий файл?
Я предполагаю, что вы используете потоки здесь, есть другие способы записи файла.
Как правило, FileMode.Create
- это то, что вы ищете.