Как записать строку в файл c
При работе с текстовыми файлами граздо проще работать с данными не как с отдельными символами, а как со строками с помощью функций gets() и puts() .
Функция puts() записывает в файл строку, то есть набор символов, который завершается символом ‘\0’. Она имеет следующий прототип:
Первый параметр функции — записываемая строка, а второй — указатель на файловый поток. В качестве результата функция возвращает неотрицательное целое число. При ошибках в процессе записи возвращается значение EOF .
При записи строки нулевой символ ‘\0’ в файл не записывается.
Функция fgets() считывает из файла одну строку и имеет следующий прототип:
Первый параметр char *s представляет строку, в которую производится считывание. Второй параметр — число n указывает, сколько символов необходимо считывать. И третий параметр представляет файловый поток, из которого производится считывание.
При вызове функция считывает из файла не более n-1 символов. Функция прекращает чтение, когда прочтет n-1 символов или встретит символ переноса строки \n. Все считанные символы записываются в строку s, в том числе символ \n. И также конец каждой строки дописывается нулевой символ ‘\0’.
При успешном завершении функция возвращает указатель s, а при ошибке или достижении конца файла возвращается значение NULL .
Применим функции в программе:
Вначале открываем файл на запись и с помощью вызова fputs(message, fp) записываем в файл искомую строку. Затем открываем файл на чтение и в цикле считываем из файла по 256 символов и выводим их на консоль с помощью вызова fgets(cc, 256, fp) . Когда данные в файле закончатся, функция возвратит NULL, и произойдет выход из цикла.
Другой пример работы с текстовыми файлами — копирование содержимого из одного файла в другой:
Запись текста в файл построчно на C#
Три самых простых способа как записать текст в файл построчно на C#. Во всех случаях используется using System.IO; . Напишу сразу примеры кода без всяких прелюдий.
Способ 1
Записать текстовый файл построчно:
Чтобы добавить текстовые данные в файл, просто укажите true после имени файла:
В этом случае, если файл не существует, то он будет создан новый, а если файл существует, он будет открыт для добавления данных. Соответственно, если второй параметр указать false, файл будет перезаписан.
Чтобы указать кодировку записываемого текстового файла (например, DOS-кодировку) можно сделать так:
Так же можно использовать обёртку using чтобы не нужно было закрывать файл после записи.
Способ 2
Запись с использованием FileStream.
Способ 3
Записать текстовый файл целиком из массива строк:
Думаю, приведенных примеров вполне достаточно для решения большинства задач по записи текстового файла.
Запись в текстовый файл с помощью функции fputs
Чтобы записать строку или несколько строк в файл, нам понадобится функция стандартной библиотеки C++ — fputs() .
Чтобы записать информацию в файл, нам нужно сначала его открыть — в этом нам поможет функция fopen() . Эта функция стандартной библиотеки C++ открывает файлы в различных режимах.
- r — открывает текстовый файл только для чтения.
- w — открывает текстовый файл только для записи
- a — открывает текстовый файл с возможностью дозаписи
Мы будем использовать режим w, поскольку мы записываем информацию в файл, ниже приведен исходный код нашей программы
обращаю Ваше внимание на очень важный момент — при написании пути к файлу в Windows используется символ бэкслеша ( \ ), если мы хотим записать бекслеш в строку, нам нужно использовать два бэкслеша ( \\ ), иначе компилятор воспримет одинарный слеш, как специальный символ.
Далее мы закрываем наш файл с помощью функции fclose();.