Форум программистов, компьютерный форум CyberForum.ru

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

Восстановить пароль Регистрация
 
hatko
0 / 0 / 0
Регистрация: 15.02.2013
Сообщений: 14
15.02.2013, 22:00     Как содержимое файла *.txt переписать в двоичном коде в другой файл? #1
Как содержимое файла *.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;
}
В итоге получаю файл с обычным текстом. Как это исправить?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
15.02.2013, 22:00     Как содержимое файла *.txt переписать в двоичном коде в другой файл?
Посмотрите здесь:

переписать содержимое текстового файла в другой текстовый файл,добавляя в начало каждой строки её порядковый номер(с++) C++
Вывести содержимое файла в двоичном коде C++
Содержимое текстового файла f, разделенное на строки, переписать в текстовый файл g C++
C++ В файле input.txt содержатся сведения о группе студентов. переписать данные файла в файл output.txt, отсортировав их по возрастанию
C++ Из текстового файла переписать информацию в другой текстовый файл
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
alsav22
5282 / 4801 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
15.02.2013, 22:53     Как содержимое файла *.txt переписать в двоичном коде в другой файл? #2
Вообще-то, текст и записывается в файл в двоичном виде. При открытии (например, Блокнотом) двоичный код выводится в виде символов.
hatko
0 / 0 / 0
Регистрация: 15.02.2013
Сообщений: 14
15.02.2013, 23:02  [ТС]     Как содержимое файла *.txt переписать в двоичном коде в другой файл? #3
alsav22, спасибо за информацию..

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

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

помогите пожалуйста
alsav22
5282 / 4801 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
16.02.2013, 00:24     Как содержимое файла *.txt переписать в двоичном коде в другой файл? #4
Хамить нехорошо. Сами понимаете о чём спрашиваете?
3BEPb_TyTa
 Аватар для 3BEPb_TyTa
18 / 18 / 1
Регистрация: 18.05.2010
Сообщений: 83
16.02.2013, 02:35     Как содержимое файла *.txt переписать в двоичном коде в другой файл? #5
hatko, вы и правда путаетесь. Текст в любом случае хранится в файле в виде двоичного кода(как и любые другие данные).
Gepar
 Аватар для Gepar
1173 / 529 / 20
Регистрация: 01.07.2009
Сообщений: 3,512
16.02.2013, 03:11     Как содержимое файла *.txt переписать в двоичном коде в другой файл? #6
Не тупите, человек хочет считать содержимое в обычном виде, а записать в бинарном
Чтобы жизнь мёдом не казалась готовый код не хочу постить, но у меня завалялся код, который я недавно кому-то делал. Здесь код делает немножко по другому: здесь записываеться бинарный файл, закрывается, а потом читается как бинарный и записывается как обычный. Если чуть-чуть подумать и поменять строки местами то получиться то что вы хотите, ну а если не получиться то постите код сюда, пишите что не получается и я буду рад помочь .
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;
}
Код кстати на си (того требовала заказчица), если хотите с++ то в общем-то логика работы та же, но функции другие. Хотя могу переписать и на с++ если хотите.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
16.02.2013, 04:00     Как содержимое файла *.txt переписать в двоичном коде в другой файл?
Еще ссылки по теме:

C++ Переписать данные файла input.txt в файл output.txt, отсортировать их в алфавитном порядке по фамилии
C++ Дан текстовый файл. Переписать компоненты файла в другой файл, заменив при этом каждое сочетание букв “no” на “on”
Переписать данные файла input.txt в файл output, отсортировав их по возрастанию средней оценки методом выбора C++

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

Или воспользуйтесь поиском по форуму:
vua72
410 / 410 / 83
Регистрация: 28.11.2010
Сообщений: 1,158
16.02.2013, 04:00     Как содержимое файла *.txt переписать в двоичном коде в другой файл? #7
Цитата Сообщение от Gepar Посмотреть сообщение
Не тупите, человек хочет считать содержимое в обычном виде, а записать в бинарном
Все это справедливо для численных данных, если речь идет о символах, тут совсем другая история, они УЖЕ байты, их УЖЕ не нужно приводить к char. Числа внутри и на экране совсем немого отличаются, поэтому для чисел проблем нет.

Добавлено через 3 минуты
Двоичный тип - байт - char -> если байт в таблице ASCII или другой, которая отображается на экране - он ОТОБРАЗИТСЯ.
Yandex
Объявления
16.02.2013, 04:00     Как содержимое файла *.txt переписать в двоичном коде в другой файл?
Ответ Создать тему
Опции темы

Текущее время: 07:03. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru