Jump to content

Ajuda: converter string para char


ptrci

Recommended Posts

Ola a todos,

Estou a tentar converter string para char  já experimentei usar código dos post aqui do fórum mas devo estar a fazer alguma coisa mal, ou o visual studio 2005 não gosta de mim.  😛

Estou a fazer um menu usando o switch, mas queria que o programa aceita-se tudo o que introduzia para não bloquear/estourar quando um utilizador carregar enter=Nullo ou letras e números.

O código que estou a criar é este:

{
    int min = 0 ,max = 0, tabuada = 0, length = 1, p =1;
    char *s[100], *a;


    while (p != 0)
        {
        // Menu
        menu();
        gets(s);
         strcpy(a,s, length);

            switch (*a)
            {
                case '1' :
Link to comment
Share on other sites

Precisas de um crash course em chars, strings, arrays e apontadores.

Não é o que vou tentar fazer aqui... 😄

Em C não existe o conceito de "string". O mais que nos conseguimos aproximar disso é com um array de caracteres. Um array de caracteres é declarado escrevendo por exemplo

char s[100];

código com o qual será declarado um array com espaço para 99 caracteres + 1 caracter terminador.

Podes aceder a qualquer caracter do array fazendo s[indice], em que indice pode ir de 0 ao número máximo de caracteres menos um. Ou seja, no exemplo anterior indice pode ser um inteiro entre 0 e 98. Se fizeres:

- s[0] vais aceder ao 1º caracter da string;

- s[98] vais aceder ao último caracter;

- s[99] vais aceder ao caracter terminador;

- se tentares aceder a um índice maior que 99 ou menor que 0 vais estar a aceder a espaço que não foi declarado para o array, o que trará inevitavelmente problemas.

Passando para o teu código, com char *s[100] estás a declarar um array de apontadores para char, que não é o que queres. Depois tentas copiar uma string para um apontador que não tem espaço alocado, que também não é algo que queres fazer. Finalmente, no switch apenas tens que colocar s[0]. Provavelmente vais deparar-te com mais problemas no código, mas vês disso quando acontecer

Desaparecido.

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.