Перейти к содержимому

Как сохранить файл c

  • автор:

Сохранение данных в файл

Добрый день. Возникла проблема с сохранением и читанием этих данных из файла.
Есть массив из 5 структур. Все это забивается в ручную, после чего сохраняется в файл. Дальше из этого файла считываются данные в другой массив структур.
Вроде бы все просто, но вот в файл сохраняет какую-то крокозябру, в следствии чего считывается с него такая же крокозябра.
Вот немного кода:
Функция сохранения данных

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
struct data { char name[30]; int number; char name2[10]; }; int save(struct data data1[]) { FILE *file; if ((file = fopen("database.txt", "w")) == NULL) printf("error\n"); else { fwrite(&data1, sizeof(data), 5, file); } fclose(file); printf("Successful \n"); getch(); return 0; }

После открытия файла я вижу следующее(скрин)
Как я считываю данные в новый массив из файла:

1 2 3 4 5 6 7 8 9 10 11
if ((file = fopen("database.txt", "rb")) == NULL) { printf("error\n"); fclose(file); return 0; } else { for (int i = 0; i  5; i++) { fread(&data2, sizeof(data), 1, file); } }

Подскажите где моя ошибка

Как сохранять данные в файл С++ [закрыт]

Закрыт. Этот вопрос необходимо уточнить или дополнить подробностями. Ответы на него в данный момент не принимаются.

Хотите улучшить этот вопрос? Добавьте больше подробностей и уточните проблему, отредактировав это сообщение.

Закрыт 4 года назад .

Я сделал простой цикл который считает числа и мне надо реализовать сохранения и загрузку данных. Надо что бы данные как то сохранялись и если я отключил цикл а потом снова запустил он продолжил считать.

for (size_t i = 0; i

Не обязательно простые примеры кидать, можно супер сложные я разберусь.
Отслеживать
задан 21 апр 2019 в 18:40
90 1 1 серебряный знак 8 8 бронзовых знаков
Ну делаем что-то типа for (size_t i = loadSavedValue(); i < 10000000; i++) < if (i % 10000 == 0) saveValue(i); >
21 апр 2019 в 18:43
@harry а можно более детально, я думал что это должно работать как то с fstream но я не уверен.
21 апр 2019 в 18:46
И еще интересно можно какие то другие данные получать а не числа, например может быть байты.
21 апр 2019 в 18:47
Возможный дубликат вопроса: Книги и учебные ресурсы по С++
21 апр 2019 в 18:47
В книги точно не будет того что мне нужно
21 апр 2019 в 18:51

2 ответа 2

Сортировка: Сброс на вариант по умолчанию

Ну вот вам пример — прерываете программу, она при новом запуске будет продолжать работу с последнего сохраненного значения.

#include #include using namespace std; int main(int argc, const char * argv[]) < long long current_value = 1; double current_sum = 0.0; < ifstream in("data"); if (in.is_open()) < in >> current_value >> current_sum; > > for(long long i = current_value; ; ++i) < current_sum += 1.0/i; if (i % 10000 == 0) < ofstream out("data"); out > > 

В каждом конкретном случае надо смотреть, как сохранять и восстанавливать состояние.

В свое время еще под DOS’ом мне попадался код, который тупо сохранял всю память и состояние процессора, но в современных операционках, по-моему, это будет слишком сложным решением.

Сохранить файл с URL-адреса — пример C#

В этой статье вы увидите пример C#, который можно использовать для сохранения файла по URL-адресу. Когда вы загружаете файл с URL-адреса, у вас есть возможность доступа, обмена и использования файла из Интернета для различных целей в зависимости от ваших потребностей. Есть несколько причин, по которым вы хотели бы скачать файлы:

  • Когда вы сохраняете файлы с URL-адресов, вы можете получить доступ к этим файлам и использовать их в автономном режиме, когда доступ в Интернет ограничен или недоступен.
  • Извлечение файлов с URL-адреса может помочь в совместном использовании и совместной работе, распространении контента или обмене файлами.
  • Вы хотите сохранить файлы для последующего использования или ссылки. Это могут быть документы, тексты, изображения, видео, аудио или другие типы файлов, которые вы хотите сохранить для будущего использования.
  • Сохранение файлов для архивирования и резервного копирования полезна для сохранения важных для вас файлов и защиты их от возможной потери или других непредвиденных событий.
  • Вы можете загружать файлы с URL-адресов для учебных целей, получать учебные материалы и учиться где угодно, например, во время поездок на работу, в путешествия или в удаленные места.

Как сохранить файл с URL-адреса

Чтобы сохранить файл с веб-сайта, вам нужно знать его URL и иметь обработчик сетевых операций, подходящий для его протокола. Библиотека Aspose.HTML для .NET предоставляет удобные функции для обработки URL-адресов с различными типами протоколов. Чтобы использовать его, вам просто нужно создать пустой HTML-документ и вызвать обработчик сетевых запросов, как показано в следующем примере C#:

  1. Используйте конструктор HTMLDocument(), чтобы создать пустой документ.
  2. Создайте URL-адрес с путем к ресурсу, который вы хотите загрузить.
  3. Используйте конструктор RequestMessage(url), чтобы создать новый экземпляр класса RequestMessage, который представляет Сообщение HTTP-запроса. В конструктор передается параметр url , указывающий URL, на который будет отправлен запрос.
  4. Используйте метод Context.Network.Send(request) для отправки запроса. Ответ проверяется, чтобы убедиться, что он был успешным.
  5. Наконец, если ответ был успешным, используйте метод File.WriteAllBytes() для сохранения файлов в локальной файловой системе.

Давайте посмотрим, как сохранить файл с URL-адреса с помощью библиотеки Aspose.HTML C#:

 1using Aspose.Html;  2using Aspose.Html.Net;  3using System.IO;  4using System.Linq;  5.  6 // Create a blank document; it is required to access the network operations functionality  7 using var document = new HTMLDocument();  8  9 // Create a URL with the path to the resource you want to save 10 var url = new Url("https://docs.aspose.com/html/net/message-handlers/message-handlers.png"); 11 12 // Create a file request message 13 using var request = new RequestMessage(url); 14 15 // Save file from URL 16 using var response = document.Context.Network.Send(request); 17 18 // Check whether response is successful 19 if (response.IsSuccess) 20  21 // Save file to a local file system 22 File.WriteAllBytes(Path.Combine(OutputDir, url.Pathname.Split('/').Last()), response.Content.ReadAsByteArray()); 23 >

Вы можете загружать файлы с URL-адресов, используя полные примеры C# из GitHub.

Aspose.HTML предлагает бесплатные Веб-приложения HTML, которые представляют собой онлайн-коллекцию конвертеров, слияний, загрузчиков, инструментов SEO, генераторов HTML-кода, инструментов URL и многое другое. Приложения работают в любой операционной системе с веб-браузером и не требуют установки дополнительного программного обеспечения. Легко конвертируйте, объединяйте, кодируйте, генерируйте HTML-код, извлекайте данные из Интернета или анализируйте веб-страницы с точки зрения SEO, где бы вы ни находились. Используйте нашу коллекцию веб-приложений HTML, чтобы выполнять повседневные дела и сделать свой рабочий процесс безупречным!

Как сохранить файл
с нужным пользователю расширением

Рекомендации типа «сохранить файл с расширением .xxx» часто встречаются в инструкциях компьютерной тематики. Однако, многие пользователи не умеют этого делать.

Для них это краткое руководство.

Расширение есть почти у каждого файла. Благодаря ему компьютер определяет, к какому типу файл принадлежит и как его использовать. Оно представляет собой специальную метку, прописываемую через точку от названия файла. Больше о расширении можно узнать здесь.

Когда говорят, что файл необходимо сохранить с каким-то расширением, имеется в виду, что при сохранении нужно конкретно указать, каким это расширение должно быть. Если этого не сделать, файл сохранится с каким-нибудь «стандартным» расширением и в результате не будет выполнять требуемые функции.

Чтобы было понятнее, рассмотрим порядок сохранения файла с расширением .html в текстовом редакторе Блокнот.

1. В меню Блокнота выбрать пункт «Сохранить как».

2. В поле «Имя файла» сразу же после названия файла поставить точку, а после нее — нужное расширение (в нашем случае это html). Точка должна быть одна, пробелы после нее — отсутствовать (см. изображение).

3. Нажать кнопку «Сохранить».

Во многих программах предусмотрена возможность выбора нужного расширения из доступных вариантов. В таком случае при сохранении вместо того, чтобы «вручную» прописывать расширение, можно просто выбрать его из списка. Вот, как это выглядит в программе Notepad++.

ПОДЕЛИТЬСЯ:

НАПИСАТЬ АВТОРУ

Похожие материалы

Как изменить ассоциации файлов

Операционная система Windows умеет автоматически определять тип каждого файла и открывать его при помощи подходящей программы. Пользователю достаточно лишь дважды щелкнуть по файлу левой кнопкой мышки.

Происходит это потому, что у каждого файла есть расширение, а в настойках операционной системы компьютера заложена некая схема взаимосвязей, в которой каждому расширению файла соответствует определенная программа, которую компьютер использует чтобы открывать такие файлы. Эта схема взаимосвязей типов расширений файлов и программ называется ассоциациями файлов.

Программа, при помощи которой компьютер автоматически открывает файлы определенного типа, называется программой по умолчанию.

Если пользователя не устаивает программа, используемая по умолчанию для какого-то типа файлов, ассоциации файлов можно изменить.

Что такое хеш файла и как его узнать

Каждый файл имеет определенные идентифицирующие свойства: имя, расширение, размер и др. Но ни одно из этих свойств не является уникальным и не позволяет однозначно идентифицировать каждый файл. Например, может существовать несколько однотипных файлов одинакового размера и с одинаковыми именами, отличающихся при этом по содержанию.

Проблему уникальной идентификации решает так называемая хеш-сумма файла (в разговорной речи — просто хеш).

Понятие Файла и папки

Пользователь компьютера постоянно имеет дело с файлами и папками. Из изложенной ниже статьи начинающие читатели узнают о том, что такое файл, что такое папка, в чем между ними состоит разница и как их на практике различать.

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

Изменить имя файла не сложно: два — три клика мышкой, нажатие нескольких клавиш на клавиатуре плюс две секунды потраченного времени — и готово. Но если нужно переименовать несколько десятков или сотен файлов, «ручное» решение этой задачи становиться серьезной проблемой.

Тем не менее, операционная система Windows позволяет осуществлять групповое переименование настолько же просто, как и в случае с одним файлом. Но почему-то об этой возможности знают далеко не все пользователи.

Как открыть файл в формате djvu

DjVu — это технология компактного хранения электронных копий документов, созданных с помощью сканера, когда распознавание текста нецелесообразно.

В виде файлов формата djvu хранится огромное количество отсканированных книг, журналов, документов, научных трудов и т.д. Файлы получаются компактными за счет незначительной потери качества изображений. Тем не менее, в них сохраняются фотографии, элементы художественного оформления и другие графические нюансы.

Не смотря на распространённость файлов djvu, у многих начинающих пользователей компьютера возникают трудности с их открытием.

Как разделить файл на части

Часто возникают ситуации, когда нужно большой файл разделить на несколько частей с возможностью их дальнейшего соединения.

Например, это может решить проблему с отправкой видео по электронной почте, если используемый почтовый сервис не позволяет пересылать файлы, превышающие определенный размер. Файл можно разрезать на части и переслать его в нескольких письмах.

Примеров, когда разделение файла решает проблему, можно придумать много. Но какой бы ни была ситуация, задачу с «разрезанием» можно решить при помощи обычного архиватора.


ПОКАЗАТЬ ЕЩЕ

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

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