Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.52/29: Рейтинг темы: голосов - 29, средняя оценка - 4.52
0 / 0 / 0
Регистрация: 15.02.2013
Сообщений: 14

Как содержимое файла *.txt переписать в двоичном коде в другой файл?

15.02.2013, 22:00. Показов 6196. Ответов 6
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Как содержимое файла *.txt переписать в двоичном коде в другой файл?

Я делаю это сл. образом:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
#include <iostream>
#include <fstream>
 
using namespace std;
 
int main()
{
    fstream file("1.txt", ios::in | ios::out | ios::binary);
 
    file.seekg(0, ios::end);
    int lengthFile = file.tellg();
 
    file.seekg(0, ios::beg);
    char *buffer = new char[lengthFile];
 
    file.read(buffer, lengthFile);
 
    ofstream os("text", ios::binary);
 
    os.write(buffer,lengthFile);
    os.close();
 
    return 0;
}
В итоге получаю файл с обычным текстом. Как это исправить?
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
15.02.2013, 22:00
Ответы с готовыми решениями:

Файл: Переписать содержимое текстового файла a.txt диска С в текстовый файл в.txt без пробелов
1.Переписать содержимое текстового файла a.txt диска С в текстовый файл в.txt без пробелов 2.Дан текст.файл C:\Program Files\2.txt,в...

Вывести содержимое файла в двоичном коде
Здраствуйте, не могли бы вы помочь с программой? она должна просто показывать битовое представление чисел, записанных в data.dat, но...

Переписать содержимое файла в другой файл, предварительно удалив из него все символы -и /
Дан символьный файл. Переписать его содержимое в другой файл, предварительно удалив из него все символы -и /.

6
5500 / 4895 / 831
Регистрация: 04.06.2011
Сообщений: 13,587
15.02.2013, 22:53
Вообще-то, текст и записывается в файл в двоичном виде. При открытии (например, Блокнотом) двоичный код выводится в виде символов.
0
0 / 0 / 0
Регистрация: 15.02.2013
Сообщений: 14
15.02.2013, 23:02  [ТС]
alsav22, спасибо за информацию..

вопрос в силе для адекватных пользователей

специально для alsav22 уточняю - необходим файл не в ASCII кодировке, а в двоичном коде..

помогите пожалуйста
0
5500 / 4895 / 831
Регистрация: 04.06.2011
Сообщений: 13,587
16.02.2013, 00:24
Хамить нехорошо. Сами понимаете о чём спрашиваете?
0
 Аватар для 3BEPb_TyTa
18 / 18 / 4
Регистрация: 18.05.2010
Сообщений: 83
16.02.2013, 02:35
hatko, вы и правда путаетесь. Текст в любом случае хранится в файле в виде двоичного кода(как и любые другие данные).
0
 Аватар для Gepar
1186 / 543 / 78
Регистрация: 01.07.2009
Сообщений: 3,517
16.02.2013, 03:11
Не тупите, человек хочет считать содержимое в обычном виде, а записать в бинарном
Чтобы жизнь мёдом не казалась готовый код не хочу постить, но у меня завалялся код, который я недавно кому-то делал. Здесь код делает немножко по другому: здесь записываеться бинарный файл, закрывается, а потом читается как бинарный и записывается как обычный. Если чуть-чуть подумать и поменять строки местами то получиться то что вы хотите, ну а если не получиться то постите код сюда, пишите что не получается и я буду рад помочь .
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <ctype.h>
 
/*
* 4. Дан двоичный файл, содержащий целые числа.
* Сформировать текстовый файл, в котором эти числа записаны по одному в строке.
* Программа должна производить проверку особых ситуаций при операциях ввода-вывода.
*/
 
int main ()
{
 
  //сначала открыаем файл myfile.bin и пишем туда числа от 1 до 10 в бинарном режиме
  FILE * pFile;
  int buffer[] = { 1,2,3,4,5,6,7,8,9,10 };
  pFile = fopen ( "myfile.bin" , "wb" );
  fwrite (buffer , 1 , sizeof(buffer) , pFile );
  fclose (pFile);//закрываем файл pFile
 
 
  //теперь открывем тот же файл куда мы записали бинарные данные но в режиме чтения (тоже бинарном)
  FILE* bFile = fopen("myfile.bin","rb");
 
  //также открыаваем файл в обычном (не бинарном) режиме чтобы выводить туда результат
  FILE* oFile = fopen("myfile.txt","w");
 
  //по одному числу считываем данные из бинарного файла и сохраняем их в обычный
  int* temp = (int*) malloc(sizeof(int));
  while(!feof(pFile))
  {
      fread(temp,sizeof(int),1,bFile);
      fprintf(oFile,"%i\n",*temp);
  }
 
  //закрываем оба файла
  fclose(bFile);
  fclose(oFile);
 
  //в результате выполнения программы в myfile.txt должны получиться числа от 1 до 10
  return 0;
}
Код кстати на си (того требовала заказчица), если хотите с++ то в общем-то логика работы та же, но функции другие. Хотя могу переписать и на с++ если хотите.
0
419 / 418 / 167
Регистрация: 28.11.2010
Сообщений: 1,183
16.02.2013, 04:00
Цитата Сообщение от Gepar Посмотреть сообщение
Не тупите, человек хочет считать содержимое в обычном виде, а записать в бинарном
Все это справедливо для численных данных, если речь идет о символах, тут совсем другая история, они УЖЕ байты, их УЖЕ не нужно приводить к char. Числа внутри и на экране совсем немого отличаются, поэтому для чисел проблем нет.

Добавлено через 3 минуты
Двоичный тип - байт - char -> если байт в таблице ASCII или другой, которая отображается на экране - он ОТОБРАЗИТСЯ.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
16.02.2013, 04:00
Помогаю со студенческими работами здесь

Переписать числа в выходной файл в двоичном коде
1.Ввести масив записів, який містить призвіще та екзаменаційні оцінки. Створити новий масив, що містить прізвіще, та розмір стипендії,...

Как переписать содержимое одного файла в другой
Я чайник в C# ни разу не работал в С# а нам сказали написать прграмму Создать консольную программу переписывающую содержимое одного...

Переписать содержимое текстового файла в другой текстовый файл, добавляя в начало каждой строки её порядковый номер
переписать содержимое текстового файла в другой текстовый файл,добавляя в начало каждой строки её порядковый номер

Файл: Переписать текст в t3.txt сначала из файла t1.txt, а потом из файла t2.txt
1) Переписать текст в t3.txt сначала с файла t1.txt, а потом с файла t2.txt 2) Файл t2.txt перенесите в папку K2 3) Файл t1.txt...

Как сделать перенос из отдного txt файла текста в другой txt файл в Turbo C?
Надо сделать с потоками. fopen fgets fputs - с этими функциями


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Основы отладки веб-приложений на SDL3 по USB и Wi-Fi, запущенных в браузере мобильных устройств
8Observer8 07.02.2026
Содержание блога Браузер Chrome имеет средства для отладки мобильных веб-приложений по USB. В этой пошаговой инструкции ограничимся работой с консолью. Вывод в консоль - это часть процесса. . .
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru