Como converter uma string em um *char?
se for em C basta fazer assim:
*char = &string; // O *char é um ponteiro que vai apontar para o endereço da string
//OBS: o & na frente de uma variável serve pra retornar o endereço da mesma, pode-se usar com qualquer variável.
*char = string; //ERRADO: o char aqui é um ponteiro que vai apontar para o valor da string, no caso isso não vai surtir efeito porque um ponteiro só obtem endereços de memória.
Uma cadeia de caracteres é uma série de caracteres representados por pedaços de código e organizados em uma única variável. Esta variável de cadeia contendo caracteres pode ser definida para um tamanho específico ou analisada por um programa para identificar seu comprimento.
Para essa conversão usamos o seguinte código:
// Swift app
var p: Person ()
var s = "algum nome"
s.getCString (& p.name. 0 , 50 , NSUTF8StringEncoding)
addPerson (& p)
O parâmetro const char * do método C deve ser convertido em UnsafePointer <Int8> no lado Swift, que pode ser passado como uma String Swift. Um valor String, se Type for Int8 ou UInt8. A string será automaticamente convertida em UTF8 em um buffer que dura a duração da chamada.
Para escrever sua resposta aqui, entre ou crie uma conta.
Compartilhar