Форум программистов, компьютерный форум, киберфорум
Наши страницы
C для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.71/21: Рейтинг темы: голосов - 21, средняя оценка - 4.71
le nom
4 / 4 / 0
Регистрация: 03.01.2009
Сообщений: 50
1

Считывание и запись бинарного файла

22.02.2012, 19:39. Просмотров 4078. Ответов 5
Метки нет (Все метки)

файл считывается, записывается в массив. Затем создается новый файл, в него записываются данные из массива.

Содержимое исходного файла: допустим 1111111
В новом файле: 1111111HHHHHHHHHHHHHHHHHHHHH

Подскажите пожалуйста - где ошибка кроется?

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
// file_file_2.cpp : Defines the entry point for the console application.
//
 
#include "stdafx.h"
#include <conio.h>
#include <iostream>
#include <io.h>
using namespace std;
 
int _tmain(int argc, _TCHAR* argv[])
{
    long lenfile;
    int *a;
    int i;
    FILE *f, *f2;
    f = fopen("E:\\for_send.txt","rb");
    lenfile= filelength(fileno(f));//размер файла в байтах
    a=new int[lenfile];
    fread(a,sizeof(int),lenfile,f);
    fclose(f);
 
    f2 = fopen("E:\\newinfo.txt","ab");
    for (i=0;i<lenfile;i++)
        fwrite(&a[i],sizeof(int),1,f2);
    fclose(f2);
    getch();
    return 0;
}
0
Вложения
Тип файла: rar Desktop.rar (666.3 Кб, 11 просмотров)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
22.02.2012, 19:39
Ответы с готовыми решениями:

Считывание с бинарного файла
Реализовать программу, которая считывает из исходного текстового файла записи определенной...

Запись и чтение бинарного файла
Доброго времени суток! Уже какой час бьюсь над проблемой и не могу никак решить ее :( ...

Запись/чтение бинарного файла
У меня есть процедура которая на вход принимает строку , имя файла , и записывает новый элемент в...

Запись структуры в конец бинарного файла
Доброго времени суток! Нужно записать в конец бинарного файла структуру. struct realtor{ int id;...

Считывание с файла и запись в файл
как считать и записать данные с файла , с расширением txt?

5
retmas
Жарю без масла
865 / 747 / 225
Регистрация: 13.01.2012
Сообщений: 1,702
22.02.2012, 19:44 2
размер входного файла lenfile байт, а записывается sizeof(int) * lenfile байт.
кстати в чтении файла - также попытка прочитать sizeof(int) * lenfile байт.
0
Том Ардер
Модератор
Эксперт по математике/физике
3844 / 2456 / 328
Регистрация: 15.06.2009
Сообщений: 4,510
22.02.2012, 19:46 3
Цитата Сообщение от le nom Посмотреть сообщение
lenfile= filelength(fileno(f));//размер файла в байтах
a=new int[lenfile];
Между этими строками вставить:

C++
1
lenfile /= sizeof(int);
0
le nom
4 / 4 / 0
Регистрация: 03.01.2009
Сообщений: 50
22.02.2012, 19:53  [ТС] 4
хорошо, но дело в том, что при
C++
1
2
3
fread(a,1,lenfile,f);
...
fwrite(&a[i],1,1,f2);
в новом файле записывается 11ННННН

Добавлено через 3 минуты
Том Ардер, при делении на 4 получается округление И получается не как в первом файле: 1111111, а 1111
0
retmas
Жарю без масла
865 / 747 / 225
Регистрация: 13.01.2012
Сообщений: 1,702
22.02.2012, 20:01 5
Цитата Сообщение от le nom Посмотреть сообщение
хорошо, но дело в том, что при
C++
1
2
3
fread(a,1,lenfile,f);
...
fwrite(&a[i],1,1,f2);
в новом файле записывается 11ННННН
естественно, вы считали в a[i] 4 байт, а выводите 1

Добавлено через 2 минуты
хотите читать побайтно - пользуйтесь массивом байт. так будет проще
1
Том Ардер
Модератор
Эксперт по математике/физике
3844 / 2456 / 328
Регистрация: 15.06.2009
Сообщений: 4,510
22.02.2012, 20:10 6
Цитата Сообщение от le nom Посмотреть сообщение
Том Ардер, при делении на 4 получается округление И получается не как в первом файле: 1111111, а 1111
В файле записано 7 байт, а читается массив целых. Здесь и источник ошибки
0
22.02.2012, 20:10
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
22.02.2012, 20:10

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

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

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


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.
Рейтинг@Mail.ru