小编ekr*_*mer的帖子

wchar_t到unsigned char转换

我有一个代码实现以下内容:

unsigned char charStr; //this var can only take a value either 0, 1, or 2
WCHAR wcharStr;
...
charStr = wcharStr - '0';
...
Run Code Online (Sandbox Code Playgroud)

我知道在从Unicode(wchar_t数据类型)转换为ANSI(unsigned char)时可能会丢失一些数据(从16位到8位).但是,有人可以解释为什么减去'0'使这种转换正确吗?

c c++ unicode ansi

2
推荐指数
1
解决办法
344
查看次数

从win32将c ++代码移植到Linux的数据类型

我有一个使用win32编写的c ++代码.就其使用的数据类型而言:

  1. 原语(int, double, float, bool, long,...)

  2. Windows数据类型(INT, SHORT, LONG, BOOL, BYTE, WCHAR,...)

  3. 以及其他几种数据类型:__int64wchar_t

问题:

一世.要将此代码移植到Linux,我应该使用哪些数据类型?

II.或者,为了使它跨平台(Linux和win32),这些数据类型是否与(i)中的数据类型不同?

提前致谢 !

c++ linux winapi

1
推荐指数
1
解决办法
74
查看次数

替换已弃用的 DirectSound 的选项

我有一个实现 DirectSound8 的代码。MSFT 在其网站上声明该库已被弃用。那么,如果我更新此代码,前提是我维护 Windows 平台,我的选择是什么?如果我切换到 Linux,有哪些选择?

c++ directx directsound visual-c++

1
推荐指数
1
解决办法
1916
查看次数

在c ++中获取表达式的含义

我正在读取c ++中的遗留代码,它定义了一个数组,然后分配给一个变量(见下文).虽然我过去使用过指针和引用,但我不确定这个表达式的含义.问题:
1.这个表达的含义是什么?
2.当(WORD*)中已经存在另一个指针时,为什么外部指针是必需的?
提前致谢 !

BYTE txbuf[16]; 
...
WORD crc = *((WORD*)(&txbuf[2]));
Run Code Online (Sandbox Code Playgroud)

c++ pointers

0
推荐指数
1
解决办法
69
查看次数

标签 统计

c++ ×4

ansi ×1

c ×1

directsound ×1

directx ×1

linux ×1

pointers ×1

unicode ×1

visual-c++ ×1

winapi ×1