Как записать строку в файл c
Перейти к содержимому

Как записать строку в файл c

Как записать строку в файл 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();.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *