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

Запись в файл через _write, откуда берется размер? - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ удаление указателя http://www.cyberforum.ru/cpp-beginners/thread824657.html
char* func() { char *str = new char; strcpy(str, "I am string!"); return str; } .. далее char *a; a = func(); delete a; или
C++ Геометрические фигуры Доброго времени суток, господа. Возник вопрос. Подскажите, какие функции в с++ используются для рисования простейших геометрических фигур. А то сейчас ищу и ничего не могу найти. Заранее спасибо. http://www.cyberforum.ru/cpp-beginners/thread824654.html
Написать алгоритм (матрица. Найти максимальный по модулю элемент матрицы. Переставить строки и столбцы) C++
Помогите пожалуйста. Задана матрица размером (n x n). Найти максимальный по модулю элемент матрицы. Переставить строки и столбцы матрицы таким образом, чтобы максимальный по модулю элемент был расположен на пересечении 1-й строки и 1-го столбца. Нужно написать программу на алгоритмическом языке. Просто составить алгоритм действий.
C++ Бинарное дерево поиска C++
+Доброго времени суток! У меня есть задание:создать картотеку,в ней указать тип магазина,номер магазина,ключ,и адрес магазина.Такое задание было предыдущи,только там нужно было сделать этос помощью ЛОС.А теперь это задание нужно сделать с помощью ДБП.Вот мой код на С++(извиняюсь заранее,он очень кривойбт.пишу в блокноте, потом запускаю в Borland 3.1) #include<iostream.h> #include<conio.h>...
C++ Проверить существование данных и посчитать количество данных (стек) http://www.cyberforum.ru/cpp-beginners/thread824644.html
привет. изучаю стеки на c++ . в интернете наткнулся на данный пример: #include <iostream.h> /*НАША СТРУКТУРА*/ struct List { int x; //информационный элемент List *Next,*Head; //Голова стека и указатель на следующий элемент }; /*ФУНКЦИЯ ДОБАВЛЕНИЯ ЭЛЕМЕНТА В СТЕК (в список LIFO)*/ void Add(int x, List **MyList) //Принимаем элемент и указатель на указатель на стек
C++ Транспортная задача(метод минимального элемента) Здравствуйте! Нужно написать задачу, которая методом минимального элемента составит опорный план для транспортной задачи. Не получается чёт, можете посмотреть, помочь? void __fastcall TForm1::Button5Click(TObject *Sender) {double min; int sb, st, shag,g,sum; for (i=0;i<m-1;i++) StringGrid2->Cells=IntToStr(b); for (i=0;i<n-1;i++) подробнее

Показать сообщение отдельно
KokosSPb
32 / 82 / 3
Регистрация: 03.02.2011
Сообщений: 463

Запись в файл через _write, откуда берется размер? - C++

01.04.2013, 13:08. Просмотров 480. Ответов 7
Метки (Все метки)

Народ, решил создать отдельную тему, нигде не нашел, по моему мнению -это вообще бред, но он есть 0_о
Тема следующая, есть двумерный массив или массив структур, мы заполняем его синусом и записываем в файл через _write.
При последней проверке пришли к следующему коду (с максимальными комментариями):
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
typedef struct{
    float x1,y1,x2,y2,x3,y3,x4,y4;
} coordS;
             coordS co[64];
             static float is=5.7;
             for(int id=0;id<64;id++){
                 co[id].x1=sin(is);
                 co[id].x2=sin(is);
                 co[id].x3=sin(is);
                 co[id].x4=sin(is);
                 co[id].y1=sin(is);
                 co[id].y2=sin(is);
                 co[id].y3=sin(is);
                 co[id].y4=sin(is);
                 is+=0.1;
             }
             char cc[128],name[25];//Объявляем переменные имени и названия баз
             float coord[64][2];
             String^ nameT;// Объявляем строковую переменную имени
             nameT = "4_.Test"+"_.par";//Называем переменную имени файла
             int ic;//Переменная номера символа
             for(ic=0;ic<nameT->Length;ic++){
                 cc[ic]=nameT[ic];//Применение названия файла в массив
             }
             cc[ic] = 0;//Конец ввода
             static int fh = 0;//Объявляем дескритор файла
             int hf = _sopen_s(&fh,cc,_O_CREAT|_O_RDWR|_O_APPEND,_SH_DENYNO,_S_IREAD|_S_IWRITE);//Открываем файл и записываем егов  дискриптор
             int hw = _write(fh,co,sizeof(co));//Записываем значение в файл
             _close(fh);//Закрываем файл
Файл должен быть размером sizeof(float)*8*64=4*8*64=2048 Байт
Если is=5.8, файл равен 2048 байт, а если is=5.7 тогда файл равен 2056 байт, почему?

Не по теме:

хорошая тема? :-)



Добавлено через 7 минут
Хотя hw всегда равен 2048
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru