开发者

Difference between byte and char in C

开发者 https://www.devze.com 2022-12-09 12:23 出处:网络
I am wondering why I can\'t compile an example from book. I simplify the example here to avoid posting example from a copyrighted book.

I am wondering why I can't compile an example from book. I simplify the example here to avoid posting example from a copyrighted book.

#include <stdio.h>

BYTE *data = "data";

int main()
{
     printf("%s", data);
     return 0;
}

When compile with g++, i get error,

error: invalid conversion from 'const char*' to 'BYTE*'

The program works by simply replacing BYTE with char, but开发者_JS百科 I must be doing something wrong since the example comes from a book.

Please help pointing out the problem. Thanks.


BYTE isn't a part of the C language or C standard library so it is totally system dependent on whether it is defined after including just the standard stdio.h header file.

On many systems that do define a BYTE macro, it is often an unsigned char. Converting from a const char* to an unsigned char* would require an explicit cast.

0

精彩评论

暂无评论...
验证码 换一张
取 消