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

2ух байтные char(0x0000) и бинарное сохраниение!?Help! - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 8, средняя оценка - 4.88
andrej2
0 / 0 / 0
Регистрация: 30.10.2011
Сообщений: 3
30.10.2011, 19:13     2ух байтные char(0x0000) и бинарное сохраниение!?Help! #1
В С++ char=1байту(0x00). Соответственно, я умею работать только 1байтовым char, а мне необходимо научиться работать в С++ с двух-байтными(0x0000) шестнадцатеричными числами.
Я пытался использовать <wchar.h>: сложение,вычитание - все это получается, а записать в файл 2ухБайтовое число(с помощью "fwprintf()")-нет.
Может я вообще все не так делаю?!
Расскажите как Вы работаете с 2Байтовыми числами(если вообще работаете с ними), как Вы их сохраняете в файл, может Вы склеиваете 2 char''а в один(0x00+0x00=0x0000)??? Подскажите пожалуйста!
С уважением, Андрей.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
30.10.2011, 19:13     2ух байтные char(0x0000) и бинарное сохраниение!?Help!
Посмотрите здесь:

C++ ошибка в коде.положение 2ух точек относительно прямой
C++ где-то ошибочка в коде.положение 2ух точек относительно прямой
C++ Разница между char и signed char
Создание объекта класса, являющегося суммой 2ух других C++
найти множитель 2ух массивов А(3,5) і B(5,2). C++
C++ Совместимость char и unsigned char
C++ Невозможно преобразовать char* в char
Char *(UTF-8) -> char *(ANSI) C++
Соединение двух программ в одну (бинарное сложение и бинарное сравнение) C++
Массив char в переменную char C++
Копирование char* в массив char[i]* C++
Exception thrown at 0x77D75BCA (ntdll.dll): 0xC0000005: Access violation reading location 0x0000 C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
palva
 Аватар для palva
2403 / 1625 / 202
Регистрация: 08.06.2007
Сообщений: 6,450
Записей в блоге: 4
30.10.2011, 21:09     2ух байтные char(0x0000) и бинарное сохраниение!?Help! #2
Вообще wchar_t где-то в заголовочных файлах определено как unsigned short, так что если вам действительно нужны двубайтные целые числа то логичнее использовать числовые типы short и unsigned short.
andrej2
0 / 0 / 0
Регистрация: 30.10.2011
Сообщений: 3
01.11.2011, 21:17  [ТС]     2ух байтные char(0x0000) и бинарное сохраниение!?Help! #3
Цитата Сообщение от palva
Вообще wchar_t где-то в заголовочных файлах определено как unsigned short, так что если вам действительно нужны двубайтные целые числа то логичнее использовать числовые типы short и unsigned short.
А как, потом short записать в файл.
Я был бы очень благодарен, если бы Вы объяснили на примере исходного кода.
Спасибо.
andrej2
0 / 0 / 0
Регистрация: 30.10.2011
Сообщений: 3
06.11.2011, 10:54  [ТС]     2ух байтные char(0x0000) и бинарное сохраниение!?Help! #4
Код
#include <stdio.h>
#include <wchar.h>
#include <conio.h>
main()
{
	//wchar_t *Str=L"";
	wchar_t Str[1000];
	wchar_t binar2=0x0034; 
 
	FILE *FilePtr=_wfopen(L"Temp.txt",L"wb");
	fwprintf(FilePtr,L"%w",binar2);
	fclose(FilePtr);
 
		 FilePtr=_wfopen(L"Temp.txt",L"rb");
		 fgetws(Str,1000,FilePtr); 
	fclose(FilePtr);
 
	wprintf(Str);
	getch();
	return ;
}
Подскажите пожалуйста, что я делаю не правильно. Почему в файл Temp.txt не сохраняется переменная binar2?
vagabond
0 / 0 / 0
Регистрация: 13.11.2011
Сообщений: 6
14.11.2011, 09:48     2ух байтные char(0x0000) и бинарное сохраниение!?Help! #5
Привет.
В fwprintf(FilePtr,L"%w",binar2) закралась ошибка.
Вместо "%w" надо "%c" и будет тебе счастье.
Удачи.
Yandex
Объявления
14.11.2011, 09:48     2ух байтные char(0x0000) и бинарное сохраниение!?Help!
Ответ Создать тему
Опции темы

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