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

问题描述 投票:0回答:2

我将我的字符串和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指针以将其存储到文件中。

c++ pointers char
2个回答
0
投票

我需要获取nameData的地址

char指针指向char。严格来说,它并不指向数组。

但是,您的数组是一个char对象数组。所以,我认为你实际上是指“我需要获取nameData的第一个字符的地址”。

这很简单。数组可以隐式转换为指向数组第一个元素的指针。实际上,只要使用该值,数组名称就会衰减到此指针。所以,只需指定指针:

char* pointer = nameData;

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

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


0
投票

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

© www.soinside.com 2019 - 2024. All rights reserved.