c结构体如下:
typedef struct Student
{
char name[20];
char telNumber[12];
char description[64];
char *faceBase64; //人脸图片的base64编码
} param;
在使用该结构体时,除了要注意对结构体的内存分配,
也不能忘了给结构体内的指针进行初始化并分配内存空间!!!
使用代码如下:
char *_name= jstring2Char(env, name);
char *_telNumber= jstring2Char(env, telNumber);
char *_description= jstring2Char(env, description);
char *_face_base64_path = jstring2Char(env, face_base64_path);
char* _faceBase64 ={ 读文件...} //从文件读取到base64的数据
param param_8018;
memset(¶m_8018, 0x00, sizeof(param));
memcpy(param_8018.name, _name, strlen(_name));
memcpy(param_8018.telNumber, _telNumber, strlen(_telNumber));
memcpy(param_8018.description, _description, strlen(_description));
//给结构体指针初始化并分配内存空间
param_8018.faceBase64 = (char *) malloc(sizeof(char) * strlen(_faceBase64)); //strlen(_faceBase64)计算可放的字节数
strcpy(param_8018.faceBase64, _faceBase64);
...
...
if (_faceBase64) {
free(_faceBase64);
}
参考:https://www.cnblogs.com/losesea/archive/2012/11/15/2772526.html
网友评论