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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 8, средняя оценка - 4.88
andrej2
0 / 0 / 0
Регистрация: 30.10.2011
Сообщений: 3
#1

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

30.10.2011, 19:13. Просмотров 1049. Ответов 4
Метки нет (Все метки)

В С++ 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!
Посмотрите здесь:

Exception thrown at 0x77D75BCA (ntdll.dll): 0xC0000005: Access violation reading location 0x0000 - C++
Есть задача Есть решение Основное приложение: #include &quot;stdafx.h&quot; #include &lt;stdio.h&gt; #include &lt;conio.h&gt; #include...

Соединение двух программ в одну (бинарное сложение и бинарное сравнение) - C++
Помогите составить из двух этих программ одну (имею ввиду прога должна предлагать 2 эти варианта через case: при нажатии case 1 или case 2...

найти множитель 2ух массивов А(3,5) і B(5,2). - C++
я понимаю что я совсем чайник но вопросс 17.найти множитель 2ух массивов А(3,5) і B(5,2). кто то может решить это???

Error C2664: sprintf: невозможно преобразовать параметр 1 из 'const char *' в 'char *' - C++
error C2664: sprintf: невозможно преобразовать параметр 1 из 'const char *' в 'char *' void crpost(const statep &amp;struc1) { ...

Ошибка в cannot convert char * to char вроде поправил теперь выводит ересь( - C++
Всем доброго дня! У меня такая проблемка.... написал программу, но сначала она ругалась на Cannot convert char* to char теперь вроде...

Ошибка: call of overloaded 'strchr(char&, char)' is ambiguous - C++
Здравствуйте, прога почему-то ругается на функцию strchr, вот кусок кода: #include &lt;stdio.h&gt; #include &lt;iostream&gt; #include...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
palva
2593 / 1815 / 260
Регистрация: 08.06.2007
Сообщений: 6,960
Записей в блоге: 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?
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
14.11.2011, 09:48     2ух байтные char(0x0000) и бинарное сохраниение!?Help!
Еще ссылки по теме:

Ошибка: initializing argument 2 of `char* fgets(char*, int, FILE*) - C++
Написать программу, которая считывает текст из файла и выводит на экран только строки, содержащие двузначные числа Помогите...

Различное поведение функции которая копирует строки с char* t и char t[] - C++
столкнулся с ситуацией которую не могу объяснить пишем функцию которая копирует одну строку в другую: void strstr(char* t,...

array char* to char* (значения массива указателей в один указатель) - C++
Как сложить(или вывести в формате char*) все значения массива указателей(char *) воедино, то есть сложить строки и назначить результату...

Сделать преобразование unsigned char в char, а затем типу int - C++
Здраствуйте, есть вопрос: Число представлено двумя полями: типа long для рублей и unsigned char - для копеек. Собственно что мне...

функция возвращает массив слов, содержащихся в текстовом сообщении char* Words(char *s) - C++
Стоит такая задача: функция должна возвратить массив слов, содержащихся в текстовом сообщении char* Words(char *s) Как это можно...

Ошибка в работе с файлами: error: incompatible types in assignment of ‘char*’ to ‘char* [255]’ - C++
Суть задания Есть файл допустим 1.txt нужно выполнить обработку этого файла а результат вывести в этот же файл с другим расширением ...


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

Или воспользуйтесь поиском по форуму:
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!
Ответ Создать тему
Опции темы

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