IPB
ЛогинПароль:

> Внимание!

1. Пользуйтесь тегами кода. - [code] ... [/code]
2. Точно указывайте язык, название и версию компилятора (интерпретатора).
3. Название темы должно быть информативным. В описании темы указываем язык!!!

> Запись в переменную типа int, C++ Builder 6
18192123
сообщение 20.03.2009 17:10
Сообщение #1


Профи
****

Группа: Пользователи
Сообщений: 920
Пол: Женский
Реальное имя: Марина

Репутация: -  2  +


Имеется текстовый файл, из которого производится считывание символов типа char.


int temp=0,i,j;
char ch;
int masT[255]={0};
//...
i=0;
j=0;
while (!feof(f))
{
fread(&ch,sizeof(char),1,f);
temp=temp|ch;
i++;
if (i==4)
{
masT[j]=temp;
temp=0;
i=0;
j++;
}
else temp=temp<<8;
}



когда я таким образом пытаюсь "наполнить" temp, то 1-й считанный символ окажется в итоге самым старшим (левым) разрядом, .., последний - самым младшим.
Мне же нужно наоборот..Объясните пожалуйста, как этого добиться?
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов
18192123
сообщение 20.03.2009 17:57
Сообщение #2


Профи
****

Группа: Пользователи
Сообщений: 920
Пол: Женский
Реальное имя: Марина

Репутация: -  2  +


по тому, как было у меня:

qwer - в файле
i=0

ch = 0x71
temp = 0x71
i=1
temp = 0x7100

ch = 0x77
temp = 0x7177
i=2
temp = 0x717700

ch = 0x65
temp = 0x717765
i=3
temp = 0x717765

ch = 0x72
temp = 0x71776572
i=4
temp = 0x71776572

нужно же temp=72657771
Не пойму, как добиться этого, как и куда сдвигать..?
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

Сообщений в этой теме


 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



- Текстовая версия 2.08.2025 14:39
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"