首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

#想问一个数组赋值的有关问题,谢谢!

2012-02-22 
############想问一个数组赋值的问题,多谢!###############有定义charstr[256]和uint16engString[2][256]

############想问一个数组赋值的问题,多谢!###############
有定义
char   str[256];

uint16   engString[2][256];
以及
typedef     unsigned   short           uint16;

如何将engString[1]数组的值赋给str[]?不要一个一个元素的赋值。
谢谢!

[解决办法]
sizeof(char)-> 1
sizeof(uint16)-> 2
元素大小不匹配,只能一个一个强制转换,不知道楼主想要实现什么
[解决办法]
memcpy();/ copy API等 需要操作连续的空间,
但是在你的情况下,
engString 的连续 256 个元素,
每个元素的 高字节 都要被舍弃,
那么导致需要复制的空间是间断的,
无法直接 拷贝复制
[解决办法]
有定义
char str[256];

uint16 engString[2][256];
以及
typedef unsigned short uint16;

如何将engString[1]数组的值赋给str[]?不要一个一个元素的赋值。
谢谢!

//engstring 是short str是char 类型不匹配
这样赋值会溢出,必须一个一个赋值
[解决办法]
1.engstring 是short str是char 类型不匹配
2.str[256]空间不够转存engString[2][256]
结果就是数据丢失

热点排行