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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Ultrator
11 / 7 / 1
Регистрация: 28.04.2009
Сообщений: 219
#1

double в файл и обратно (язык c). - C++

07.05.2011, 16:22. Просмотров 431. Ответов 4
Метки нет (Все метки)

Добрый день.

Подскажите, плз, как это сделать проще всего.

(fprintf (%f) к сожвлению не подходит - он пишет "отображение" числа посимвольно)

Хотелось, чтобы каждый double занимал бы 10 байт, то есть "1 в 1" грубо говоря, перенести.
И прочитать тоже, не знаю как (придумал, но это - коряво, наверно можно проще).

Наверняка, задачка типовая. Заранее благодарю.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
07.05.2011, 16:22
Здравствуйте! Я подобрал для вас темы с ответами на вопрос double в файл и обратно (язык c). (C++):

Преобразование TCHAR в double и обратно - C++
Всем привет! Есть TCHAR массив, допустим со значением "12.5", как его можно преобразовать в double? Пробовал так: TCHAR str; char...

Double / float в строку и обратно - C++
знаю есть готовые методы, мне просто интересен алгоритм, как это можно реализовать? почему то нигде не найти реализации... в конце концов...

Как преобразовать string в double и обратно? - C++
нашел функцию atof но не хочет запускаться. сам начеркал функцию для перевода в double но обратно чет даже идей нет.

Ошибки error C2296: -: недопустимо, левый операнд имеет тип "double (__cdecl *)(double,double,double - C++
Думаю из-за polp #include<iostream> #include<cmath> #include<cstdlib> using namespace std; double polp(double af,double...

Ошибка: error LNK2001: unresolved external symbol "double __cdecl Akk(double,double,double)" - C++
#include <iostream> #include <cmath> using namespace std; double Akk(double x, double y, double z); int main() { int a, b, c; ...

Потерял cpp файл, а ехе-шник остался. Можно как-то декомпилировать файл обратно? - C++
Потерял cpp файл, а ехе-шник остался. Можно как-то декомпилировать файл обратно?

4
igorrr37
1647 / 1275 / 133
Регистрация: 21.12.2010
Сообщений: 1,932
Записей в блоге: 7
07.05.2011, 16:59 #2
double вроде 8 байт занимает. Вот, в бинарном виде
C
1
2
3
4
5
6
7
8
9
10
11
12
#include <stdio.h>
 
int main(){
    double d=12.25, res;
    FILE *f=fopen("1.dat","wb");
    fwrite(&d, sizeof(d), 1, f);
    if(!freopen("1.dat", "rb", f)){perror("Error"); exit(1);}
    fread(&res, sizeof(res), 1, f);
    printf("%f", res);
    fclose(f);
    return 0;
}
1
Ultrator
11 / 7 / 1
Регистрация: 28.04.2009
Сообщений: 219
07.05.2011, 17:15  [ТС] #3
Спасибо, ясно.

(оказывается, есть fwrite/fread.. )
0
ValeryLaptev
Эксперт С++
1041 / 820 / 48
Регистрация: 30.04.2011
Сообщений: 1,659
07.05.2011, 20:19 #4
Цитата Сообщение от Ultrator Посмотреть сообщение
Спасибо, ясно.

(оказывается, есть fwrite/fread.. )
Вы не обратили внимание на одну важную строку:
C
1
FILE *f=fopen("1.dat","wb");
Это открывается БИНАРНЫЙ - НЕ текстовый - файл. Без этого fread|fwrite бесполезны.
1
Ultrator
11 / 7 / 1
Регистрация: 28.04.2009
Сообщений: 219
08.05.2011, 06:02  [ТС] #5
вот, точно (wb - немаловажный момент).
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
08.05.2011, 06:02
Привет! Вот еще темы с ответами:

Почему мы пишем double x (double y)? а не через запятую double x,y - C++
почему мы пишем double x (double y)? а не через запятую double x,y

Конвертировать файл в 10-ю систему счисления и обратно - C++
Добрый день. Уважаемые Киберфорумцы, кто встречал готовую (консольную или GUI) программу для конвертирования любых входных файлов в 10-ю...

Std:string в бинарный файл и обратно - C++
Извините! Тупонул. Уже сам всё сделал. Не знаю как только тему удалить теперь.

Уменьшить все элементы последовательности на ее минимальный и записать обратно в файл - C++
В текстовой файле хранится последовательность целых чисел. прочитать данные из файла и преобразовать последовательность уменьшив все...


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

Или воспользуйтесь поиском по форуму:
5
Yandex
Объявления
08.05.2011, 06:02
Ответ Создать тему
Опции темы

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