como converter de forma simples string para char

16/04/2022

0

não consigo converter e utilizar uma variavel que contem o caminho de extração do arquivo que eu quero dar administrador...
eu já tentei varias coisas mais não consegui, tentei alguns métodos de trasformar string em char e etc, mas não funcionou
só quero que o conteúdo da variavél "C" seja utilizado de forma correta, sou inicianta na programação, alguém pode me dar uma ajuda?

#include<stdio.h>
#include<windows.h>
#include<shellapi.h>
#include<string.h>
#include <locale.h>

int main(){

///variaveis

char c[] = "C:\";
char user[200] = "";
char c2[] = "Users\";
scanf("%s", user);



strcat(c, c2);
strcat(c, user);
strcat(c, "\\Documents\");
strcat(c, "teste.exe");


char cchar = (char)(c);

printf("%s",cchar);
//concatena tudo
///roda programa como administrador


char*aplication = "%s", c;
ShellExecute(NULL, "runas", aplication, NULL, NULL, SW_SHOWDEFAULT);
}
Empty

Empty

Responder

Posts

30/03/2023

Stella Oliveira

Aparentemente você está utilizando JAVA, em Java, uma maneira simples de converter uma String em um array de char é usando o método toCharArray() da classe String. Aqui está um exemplo:

String minhaString = "exemplo";
char[] meuArrayChar = minhaString.toCharArray();


O método toCharArray() retorna um array de caracteres que representa a String. Neste exemplo, a variável meuArrayChar conterá os caracteres {'e', 'x', 'e', 'm', 'p', 'l', 'o'}.

Também é possível converter uma String em um char individualmente usando o método charAt() da classe String. Aqui está um exemplo:

String minhaString = "exemplo";
char meuChar = minhaString.charAt(0);


String minhaString = "exemplo";
char meuChar = minhaString.charAt(0);

O método charAt() retorna o caractere na posição especificada pelo índice passado como parâmetro. Neste exemplo, a variável meuChar conterá o caractere 'e', que é o caractere na posição 0 da String.
Responder

31/03/2023

Arthur Heinrich

Acho que você precisa dar um passo atrás para entender como mapear a memória.

O tipo char armazena apenas 1 caractere (8 bits).
Ao utilizar char[] estamos criando um char array. Uma espécie de vetor contendo caracteres que formam uma string.

Sempre que temos uma string, precisamos de um mecanismo para indicar o fim da string e existem duas maneiras de se fazer isso.

No padrão C, as strings são terminadas por um caractere adicional de código 0 (zero). Por isso são popularmente chamadas de stringZ.

Outras linguagens, como o Pascal, utilizavam originalmente uma string composta de um primeiro caractere, cujo código representa o tamanho da string e, na sequência, a relação dos caracteres. Por ser iniciada pelo tamanho, passou a ser conhecida como Lstring.

Na Lstring, uma vez que o tamanho é armazenado através do primeiro caractere, as strings são limitadas de 0 a 255 caracteres.

Depois, foram criados modelos muito mais sofisticados para armazenar strings.

O Delphi, por exemplo, utiliza um tipo String híbrido. Ele é um ponteiro que aponta para o primeiro caractere de uma stringZ. Porém, nos 12 bytes anteriores ao primeiro caractere, existem 3 inteiros de 32 bits. Uma para indicar o número de caracteres, outro para indicar o tamanho do buffer reservado para armazenar a string e o terceiro para armazenar o número de variáveis que fazem referência ao valor armazenado em memória.

Com isto, além de não ser necessário varrer a string para saber seu tamanho, ao atribuir uma variável à outra A:=B;, apenas o ponteiro B é armazenado em A e o contador (reference counter) é incrementado, o que é muito mais eficiente do que copiar o conteúdo da string.

No seu caso, ao concatenar strings, precisa ver se a linguagem que você está utilizando redimensiona o buffer dinamicamente, ou se você precisa explicitamente alocar o espaço previamente. Do contrário, o texto concatenado pode invadir a memória de outras variáveis ou mesmo áreas não mapeadas, que podem causar erros.
Responder

Que tal ter acesso a um e-book gratuito que vai te ajudar muito nesse momento decisivo?

Ver ebook

Recomendado pra quem ainda não iniciou o estudos.

Eu quero
Ver ebook

Recomendado para quem está passando por dificuldades nessa etapa inicial

Eu quero

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar