欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2162|回復: 8
收起左側

單片機Keil C語言 中文編碼數組提示字符串越界的解決方法

[復制鏈接]
ID:289218 發表于 2023-4-8 18:57 | 顯示全部樓層 |閱讀模式
我在群里下載了LCD顯示例程:
2.png
編譯時提示:main.c(215):錯誤C243:“array[]”:字符串越界
1.png

麻煩哪位高手能給與指點,謝謝!
回復

使用道具 舉報

ID:289218 發表于 2023-4-8 18:59 | 顯示全部樓層
例程部份代碼如下:
typedef struct typFNT_GB16 // 漢字字模顯示數據結構
{
uchar Index[2];//漢字內碼索引
uchar Msk[24]; //點陣碼數據
};

struct typFNT_GB16 code GB_16[]=
{ // 顯示為12*12
"中",0x04,0x00,0x04,0x00,0x7F,0xC0,0x44,0x40,0x44,0x40,0x44,0x40,0x7F,0xC0,0x04,0x00,0x04,0x00,0x04,0x00,0x04,0x00,0x00,0x00,
"文",0x08,0x00,0x04,0x40,0xFF,0xE0,0x11,0x00,0x11,0x00,0x11,0x00,0x0A,0x00,0x0A,0x00,0x04,0x00,0x1B,0x00,0xE0,0xE0,0x00,0x00,
"測",0x9E,0x20,0x52,0x20,0x12,0xA0,0x96,0xA0,0x56,0xA0,0x56,0xA0,0x56,0xA0,0xD6,0xA0,0x44,0xA0,0x4A,0x20,0x71,0x60,0x00,0x00,
"試",0x80,0xC0,0x40,0xA0,0x5F,0xE0,0x00,0x80,0xC0,0x80,0x4F,0x80,0x44,0x80,0x44,0x80,0x57,0xA0,0x6C,0x60,0x40,0x20,0x00,0x00,
"液",0x81,0x00,0x5F,0xE0,0x25,0x00,0x85,0xC0,0xAA,0x40,0x4E,0xC0,0x5A,0x40,0x49,0x80,0xC8,0x80,0x49,0x40,0x4E,0x20,0x00,0x00,
"晶",0x1F,0x80,0x10,0x80,0x1F,0x80,0x10,0x80,0x1F,0x80,0x00,0x00,0x7B,0xE0,0x4A,0x20,0x7B,0xE0,0x4A,0x20,0x7B,0xE0,0x00,0x00,
"顯",0x3F,0x80,0x20,0x80,0x3F,0x80,0x20,0x80,0x3F,0x80,0x00,0x00,0x4A,0x40,0x2A,0x40,0x2A,0x80,0x0B,0x00,0xFF,0xE0,0x00,0x00,
"示",0x00,0x80,0x7F,0xC0,0x00,0x00,0x00,0x00,0xFF,0xE0,0x04,0x00,0x14,0x80,0x24,0x40,0x44,0x20,0x84,0x20,0x1C,0x00,0x00,0x00,};
回復

使用道具 舉報

ID:883242 發表于 2023-4-8 19:39 | 顯示全部樓層
213行不要加typFNT_GB16類型,用char型,然后定義一個typFNT_GB16類型的指針指向這個數組就可以用了。
回復

使用道具 舉報

ID:289218 發表于 2023-4-8 19:51 | 顯示全部樓層
Hephaestus 發表于 2023-4-8 19:39
213行不要加typFNT_GB16類型,用char型,然后定義一個typFNT_GB16類型的指針指向這個數組就可以用了。

謝謝!我馬上試試~
回復

使用道具 舉報

ID:289218 發表于 2023-4-8 20:39 | 顯示全部樓層
Hephaestus 發表于 2023-4-8 19:39
213行不要加typFNT_GB16類型,用char型,然后定義一個typFNT_GB16類型的指針指向這個數組就可以用了。

修改為:
uchar code GB_16[]=
{ // 顯示為12*12

keil提示信息:
main.c(215): error C242: 'array[]': too many initializers
回復

使用道具 舉報

ID:289218 發表于 2023-4-8 20:40 | 顯示全部樓層
Hephaestus 發表于 2023-4-8 19:39
213行不要加typFNT_GB16類型,用char型,然后定義一個typFNT_GB16類型的指針指向這個數組就可以用了。

如果把中文索引去掉,就不會提示字符串越界~
回復

使用道具 舉報

ID:94031 發表于 2023-4-8 20:51 | 顯示全部樓層
wlhuang 發表于 2023-4-8 20:40
如果把中文索引去掉,就不會提示字符串越界~

中文索引放在注釋里,不要出現在程序里。
回復

使用道具 舉報

ID:939553 發表于 2023-4-8 21:55 | 顯示全部樓層
"中" 在存儲時是這樣的,0xD6,0XD0,0X00,是三個字節,導致你越界了
回復

使用道具 舉報

ID:939553 發表于 2023-4-8 21:56 | 顯示全部樓層
你應該是直接轉化成0xd6,0xd0存儲即可
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表