获取字符数组地址,然后转换为指针char

时间:2019-03-22 01:33:29

标签: c++ pointers char

我将字符串和字节数组转换为char数组。

char nameData[90];
char passData[90];
strcpy(nameData, name.toStdString().c_str()); //string
strcpy(passData, pass.data()); //bytearray

现在我需要获取nameData和passData的地址以将其设置为指针? 还是很容易将字符串和字节数组转换为char指针?

我需要将其转换为char指针以将其存储到文件中。

2 个答案:

答案 0 :(得分:0)

我认为只使用类型转换就可以了。 例如char* pNameData = (char*) nameData。实际上,您可以在C或C ++中将nameData直接用作char*指针。

答案 1 :(得分:0)

  

我需要获取nameData的地址

一个char指针指向一个char。从严格意义上讲,它并不指向数组。

您的数组是char对象的数组。因此,我认为您实际上是说“我需要获取nameData的第一个字符的地址”

这很简单。数组可以隐式转换为指向数组第一个元素的指针。实际上,每当使用该值时,数组名称​​会衰减到此指针。因此,只需分配指针:

char* pointer = nameData;

  

我需要将其转换为char指针以将其存储到文件中。

您甚至可能不需要指针变量。只需将数组直接传递给带有字符指针参数的函数即可。