Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C/C++: Общие вопросы > типы byte,word,Dword


Автор: Знак 11.7.2005, 10:25
Как правильно в Borland С++ 3.1
указывать типы byte,word,Dword ,,
для разных типов вносимых данных (int, char и т.д.),
что бы потом их() сливать в файл!

Автор: Borisff2003 11.7.2005, 10:43
BYTE
WORD
DWORD
Это все вроде есть в windows.h

Автор: Дрон 11.7.2005, 12:58
Borisff2003
Точнее в wtypes.h. Но это не важно smile

Знак
Если честно, то вопроса не понял smile

Код

typedef unsigned char BYTE;
typedef unsigned short WORD;
typedef unsigned long DWORD;


Добавлено @ 12:59
PS: Зачем в подсветке BYTE, WORD, DWORD как ключевые слова-то сделали smile

Автор: Mayk 11.7.2005, 13:20
В шестом билдере и *никсах (в вижалке нет) есть еще inttypes.h, где определены int32_t, int16_t, int8_t, int16_t и прочее.

Цитата
Borisff2003
Точнее в wtypes.h. Но это не важно

wtypes.h в bc 3.1 нету smile

Автор: Guest 14.7.2005, 18:02
Хе , я про 3.1 С++
ТО Borisff2003 шеф, а пример как это написать моно?
Плииииз0з smile

Автор: Знак 15.7.2005, 10:41
3.1 работает под ДОС

какй еще windows.h ?

Автор: Mayk 15.7.2005, 10:58
Цитата
какй еще windows

3.11?

Автор: Знак 15.7.2005, 16:04
Дрон , ты б реально написал как туда значение впихивают!

smile

to Mike, хва прикалываться.... над убогими я в Окнах 3.1
ни разу не писал.. даже smile

Автор: Дрон 15.7.2005, 16:12
Знак
Куда???
Какое значение?

Автор: Знак 15.7.2005, 23:36
Ну в BYTE к примеру символ или число....

как это в Borland 3.1 будет выглядеть ...

можно и с проверкой.. smile

Кстати в каком хедере лежат такие блоки
BYTE
WORD
DWORD
.....

Автор: Дрон 16.7.2005, 03:15
Так я же в самом начале уже написал как определяются типы BYTE, WORD, DWORD - через typedef.
Т.е. это на самом деле unsigned char, unsigned short и unsigned long соответственно.

Что ещё непонятно-то? smile

Автор: Mayk 16.7.2005, 10:16
Цитата
to Mike, хва прикалываться.... над убогими я в Окнах 3.1
ни разу не писал.. даже

1) Ты спросил от какого виндоза может браться windows.h, я ответил. Какие приколы?
2) Мой ник никак не связан с именем Михаила, которое можно перевести как Mike.

Автор: Знак 16.7.2005, 14:38
To Dron, скриптттттт..ттттт.ьтттттЪЪЪЪЪ
с проверкой плиззззЪ, моно и в консольном варианте.... smile

ТО Майк.... Sorry smile




Автор: Дрон 16.7.2005, 15:01
Знак
Я уже собрался "минус" тебе ставить...

Какой нах@# скрипт?!
Какая проверка?

Ты вообще о чём говоришь?

Автор: Знак 16.7.2005, 19:54
Дрон
Я тожа уже собрался ...

Какой минус?

Ты вообще о чём говоришь?

Автор: En_t_end 16.7.2005, 20:08
Знак
Модератор: Давайте вернёмся к теме обсуждения.
Товарищ, давайте не будем флеймить.
ЗЫ хотя помомему здесь уже ответили и дальше разводить пустые разговоры не стоит.

Автор: Знак 16.7.2005, 21:05
В общем мне нужно было сделать сл...
а то с этими stuct union def......
нафиг они нужны... фообще !!
так... нуно было сделать сл...
записать в файл к примеру число 12 000
,но так что бы оно занимало ровно столько БАЙТ сколько нужно мне
т.е. или BYTE, или DWORD ну и т.д. по списку...
struct nnm {
int rar;
} name;

in 3.1 как-то душно рулит,

дык как в файл записать число?
просто иногда нужно контролировать процесс сохр. информации ...
т.е. если есть число 1, но его в файл нужно записать на 4 байта...
а не как попало...
потому вопрос и задал!

Автор: Дрон 16.7.2005, 22:53
Так вопрос был в том, как записать число в файл?

Код

#include <stdio.h>

void main()
{
  int num = 123;
  
  FILE *fp = fopen("test.dat","wb");
  fwrite(&num, 1, sizeof(num), fp);
  fclose(fp);
}


Запишет 2 байта, т.к. sizeof(num) = 2 (в Borland C++ 3.1, т.к. он 16-битный).
Если поменять тип переменной на long, то будет 4 байта и т.п.
Естественно, вместо sizeof(num) ты можешь указывать размер вручную, но главное не указать размер больше, чем истинный размер переменной.
Точно так же, естественно, что sizeof может определять размер и сложных типов вроде структур, а также принимать как параметр не только имя переменной но и название типа, т.е. можно было написать sizeof(int).

Учите матчасть.

Ещё вопросы есть?

PS: Советую выучить нормальную терминологию, да и вообще русский язык. А то читать твои сообщения очень тяжело.

Автор: vadims 17.7.2005, 00:11
М..да - имя это судьба

Цитата
а то с этими stuct union def......
нафиг они нужны... фообще !!
Действительно - зачем их придумали - от безделья наверное ???

Цитата
in 3.1 как-то душно рулит
Изучайте материальную часть - не так уж он плох как мне кажется - все как раз наоборот. Если чего-то не можем - наверное в первую очередь себя ругать надо

Понять с твоих слов (как обычно) простым людям не совсем легко поэтому

1. Контролировать и записать "не как попало" - мб просто массив на диске ???
lseek(...)
write(...)
...
read(...)

2. Может быть просто текстовый файл

sprintf(wstr, "%s\n", "то что я хочу сказать всему миру" );
write( fil, wstr, strlen(wstr) );







Автор: Знак 17.7.2005, 17:31
ТО влим, тема закрыта......

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)