1. Пользуйтесь тегами кода. - [code] ... [/code]
2. Точно указывайте язык, название и версию компилятора (интерпретатора).
3. Название темы должно быть информативным.
В описании темы указываем язык!!!
![]() ![]() |
| 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-й считанный символ окажется в итоге самым старшим (левым) разрядом, .., последний - самым младшим. Мне же нужно наоборот..Объясните пожалуйста, как этого добиться? |
| volvo |
20.03.2009 17:31
Сообщение
#2
|
|
Гость |
Вот так что-ли:
unsigned int temp = 0, i = 0, j = 0;
...
while (!feof(f)) {
fread(&ch, sizeof(char), 1, f);
temp |= ((unsigned int)ch) << 24;
if(++i == 4) {
masT[j++] = temp;
temp = i = 0;
}
else temp >>= 8;
}
? |
| 18192123 |
20.03.2009 17:57
Сообщение
#3
|
![]() Профи ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 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 Не пойму, как добиться этого, как и куда сдвигать..? |
| volvo |
20.03.2009 18:04
Сообщение
#4
|
|
Гость |
|
| Archon |
22.03.2009 14:17
Сообщение
#5
|
![]() Профи ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 618 Пол: Мужской Репутация: 24 |
Ещё можно вот так:
char *i = (char *)masT;
while (!feof(f)) fread(i++, sizeof(char), 1, f);
-------------------- Close the World...txeN eht nepO
|
| volvo |
22.03.2009 14:26
Сообщение
#6
|
|
Гость |
Цитата Ещё можно вот так: Ты можешь гарантировать, что это всегда будет работать так, как нужно? |
| Archon |
22.03.2009 16:25
Сообщение
#7
|
![]() Профи ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 618 Пол: Мужской Репутация: 24 |
Прошу прощения, если что-то упустил. Объяснишь? Я неоднозначностей не замечаю...
-------------------- Close the World...txeN eht nepO
|
![]() ![]() |
|
Текстовая версия | 15.11.2025 8:12 |