我将我的字符串和bytearray转换为char数组。
char nameData[90];
char passData[90];
strcpy(nameData, name.toStdString().c_str()); //string
strcpy(passData, pass.data()); //bytearray
现在我需要获取nameData和passData的地址以将其设置为指针?或者是否很容易将字符串和bytearray转换为char指针?
我需要将其转换为char指针以将其存储到文件中。
我需要获取nameData的地址
char指针指向char。严格来说,它并不指向数组。
但是,您的数组是一个char对象数组。所以,我认为你实际上是指“我需要获取nameData的第一个字符的地址”。
这很简单。数组可以隐式转换为指向数组第一个元素的指针。实际上,只要使用该值,数组名称就会衰减到此指针。所以,只需指定指针:
char* pointer = nameData;
我需要将其转换为char指针以将其存储到文件中。
你可能甚至不需要指针变量。只需将数组直接传递给接受字符指针参数的函数即可。
我认为只需使用类型转换即可。例如char* pNameData = (char*) nameData
。实际上,您可以直接将nameData用作C或C ++中的char*
指针。