String em [RESOLVIDO]

1. String em [RESOLVIDO]

Lucas Ribeiro
eunix

(usa Debian)

Enviado em 18/10/2012 - 16:00h




  


2. Ô, foi mal, a página fechou de repente

Lucas Ribeiro
eunix

(usa Debian)

Enviado em 18/10/2012 - 16:54h

Olá colega(s),

resolvi criar uma aplicação para criar senhas a partir de strings. Beleza... Então, como de praxe, pensei nos passos do processo e pimba na gorduchinha!

Acho esse texto muito longo, então se não quiserem ler eu entendo...

Abri o eclipse índigo, criei o projeto com hello world e troquei o texto. Então, declarei a string... E, na linha 22, em que declaro o for(), o gcc exibe a seguinte mensagem: "subscripted value is neither array nor pointer". Traduzo-a por "o valor subcrito não é nem array nem ponteiro".

O problema é que, se determino um índice para a string "string", estou limitando o número máximo de caracteres permitido para a senha. Gostaria que o próprio sistema detectasse o comprimento da senha e trabalhasse como se fosse o único comprimento possível. Eu já fiz isso antes! Só que não encontro o arquivo...

Se faço "s = strlen(string);", ele diz:
a) "warning: passing argument 1 of ‘strlen’ makes pointer from integer without a cast"; e
b) "note: expected ‘const char *’ but argument is of type ‘char’".

A resposta deve ser algo simples, mas não estou encontrando...
Se alguém puder me ajudar, eu agradeceria muito! Isso é importante pra mim...

#include <stdio.h>
#include <stdlib.h>
#include <strings.h>
#include <string.h>

int main(void) {

char string; // Eu deveria inicializar? Tipo "char string[99];"?
int s = 0;

printf("\n Insira a string: ");
scanf("%s",&string);

for(s=0;string[s]!="{TEXTO}";s++){ /* <<=================== ERRO ===================>> */
// Aqui ainda não pus nada...
}
printf("\n A string tem %d caracteres.\n\n",s);

return (0);

}


3. Re: String em [RESOLVIDO]

ilmar machado barcellos
panzzer

(usa Ubuntu)

Enviado em 18/10/2012 - 20:37h


dá uma olhada assim funcionou,falta ainda refinar...


#include <stdio.h>
#include <stdlib.h>
#include <strings.h>
#include <string.h>

main ()
{

char st; // Eu deveria inicializar? Tipo "char string[99];"?
int s = 0;

printf("\n Insira a string: ");
scanf("%s",&st);

for(s=0;st!="TEXTO";s++) /* <<=================== ERRO ===================>> */
// Aqui ainda não pus nada..
{


printf("\n A string tem %d caracteres.\n\n",s);

return (0);

}
}



4. Valeu, amigo, deu certo...

Lucas Ribeiro
eunix

(usa Debian)

Enviado em 24/10/2012 - 18:17h

Valeu, amigo, deu certo...






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts