Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 5.00/3: Рейтинг темы: голосов - 3, средняя оценка - 5.00
Deryck
5 / 5 / 0
Регистрация: 01.12.2010
Сообщений: 109
1

не могли бы вы проверить задачу про двоичные файлы?

07.02.2012, 16:05. Просмотров 592. Ответов 8
Метки нет (Все метки)

Всем здравствуйте. наверно немного странная просьба: проверьте на правильность задачку "вывод числа из двоичного файла", просто сомневаюсь из за несоответствия спецификаторов ввода и вывода(вроде это так называется... "%d" и "%c") можно ли это объяснить тем что считываем мы код символа а печатаем сам символ?
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include <stdio.h>
#include <stdlib.h>
 
/*
 * 
 */
int main() {
    FILE* in;
    int vaule;
    in = fopen("input", "rb");
    fscanf(in, "%d", &vaule);
    fclose(in);
    printf("%c", vaule);
    return (EXIT_SUCCESS);
}
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
07.02.2012, 16:05
Ответы с готовыми решениями:

двоичные файлы
дан файл целых чисел. Создать два новых файла, первый из которых содержит...

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

Двоичные файлы
У меня есть код программы работающий с текстовыми файлами, #include &lt;iostream&gt;...

Двоичные файлы
Работа с двоичными файлами. Создать файл, состоящий из n вещественных чисел....

Двоичные файлы
Здравствуйте. Кому не сложно, помогите, пожалуйста, решить задачу. Не забуду...

8
retmas
Жарю без масла
865 / 747 / 225
Регистрация: 13.01.2012
Сообщений: 1,702
07.02.2012, 16:24 2
вместо
Цитата Сообщение от Deryck Посмотреть сообщение
C++
1
fscanf(in, "%d", &vaule);
следует использовать
C++
1
fread(&value, sizeof value, 1, in);
а вывод числа так
C++
1
printf("%d", value);
1
Deryck
5 / 5 / 0
Регистрация: 01.12.2010
Сообщений: 109
07.02.2012, 16:29  [ТС] 3
А не могли бы вы объяснить почему? хотя бы в двух словах.
0
retmas
Жарю без масла
865 / 747 / 225
Регистрация: 13.01.2012
Сообщений: 1,702
07.02.2012, 16:31 4
потому что файл у вас двоичный. вам нужно считать число(!) из него. не символы, преобразованные в число. и без форматирования.
1
Deryck
5 / 5 / 0
Регистрация: 01.12.2010
Сообщений: 109
07.02.2012, 19:23  [ТС] 5
ну примерно понял... спасибо вам огромное

Добавлено через 2 часа 37 минут
1629764145
RUN SUCCESSFUL
такой результат работы разве нормально?
заменил строчки как вы и говорили... извините за бесспокойство

Добавлено через 3 минуты
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include <stdio.h>
#include <stdlib.h>
 
/*
 * 
 */
int main() {
    FILE *in;
    int value;
    in = fopen("input", "rb");
    fread(&value, sizeof value, 1, in);
    printf("%d", value);
    fclose(in);
    return (EXIT_SUCCESS);
}
Добавлено через 7 минут
файл input содержит только число 53
0
retmas
Жарю без масла
865 / 747 / 225
Регистрация: 13.01.2012
Сообщений: 1,702
07.02.2012, 19:40 6
значит у вас там не число 53, а строка из 2х символов '5' и '3'.
осознайте, что значит бинарные данные

Добавлено через 4 минуты
вот вам программка, которая записывает в бинарный файл 53.
C
1
2
3
4
5
6
7
8
9
10
#include <stdio.h>
 
int main() {
    FILE *in;
    int value = 53;
    in = fopen("input", "wb");
    fwrite(&value, sizeof value, 1, in);
    fclose(in);
    return (EXIT_SUCCESS);
}
для наглядности запустите ее и посмотрите, что в файле(желательно в бинарном редакторе)
1
Том Ардер
Модератор
Эксперт по математике/физике
3835 / 2447 / 327
Регистрация: 15.06.2009
Сообщений: 4,472
07.02.2012, 19:50 7
Цитата Сообщение от Deryck Посмотреть сообщение
файл input содержит только число 53
А можно посмотреть файл?
0
Deryck
5 / 5 / 0
Регистрация: 01.12.2010
Сообщений: 109
07.02.2012, 20:06  [ТС] 8
вот он в архиве
0
Вложения
Тип файла: rar input.rar (71 байт, 10 просмотров)
Deryck
5 / 5 / 0
Регистрация: 01.12.2010
Сообщений: 109
07.02.2012, 20:16  [ТС] 9
Все, разобрался. Спасибо всем большое, за потраченное время.
0
07.02.2012, 20:16
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
07.02.2012, 20:16

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

Доброго времени суток, не могли бы вы проверить код?
Дана плотность жидкости и плотность тела. Определить, что произойдет с...

Двоичные (бинарные ) файлы С++
Помогите, пожалуйста, переделать эту же программу (она рабочая) только для...


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

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

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