Olá.
Faz algum tempo que não programo em linguagem C, já que comecei a mexer com Arduíno resolvi exercitar um pouco.
Porém acho esqueci como se trabalha com strings.
Quero montar um programa bem simples. O usuário inseri uma frase de ate 200 caracteres, logo em seguida digita a quantidade de caracteres que deseja ter por linha. Não quero que o programa quebre no meio da frase.
Montei esse Script porém está dando erro.
Desde já sou grato.
Tags:
As respostas para este tópico estão encerradas.
Boa noite,
Não existe '\s'
Boa sorte,
'Eiju
Eita. Desculpe achei que o \s era estaço.
Então. Substitui por ' ' e também não foi.
E tem um erro de logica nesse que postei. Vou corrigir e subi dnv.
Como eu acho que deveria estar. Mas ainda continua dando erro.
Bom dia,
Não sou especialista em programação.
Por isso, esse é o site que uso muito como referência para programação do Arduino :
Jessé Pereira de Melo,
Acho que o problema não está exatamante onde você pensa.
Acho que o problema está em:
printf("%s", frase[i]);
Ou você usa:
printf("%s", frase);
Ou usa:
for(i=0; i<200; i++){
printf("%c", frase[i]);
}
Mas dessa ssegunda forma ainda tem um problema. Caso a frase não tenho o tamanho total da string, o programa imprimirá a frase e logo depois um monte de lixo das casas não usadas. Uma forma de evitar isso pode ser fazendo:
for(i=0; frase[i] != '\0'; i++){
printf("%c", frase[i]);
}
E também, você poderia substituir:
if(frase[i] != ' '){}
else{
frase[i] = '\n';
count += tam;
}
Simplismente por:
if(frase[i] == ' '){
frase[i] = '\n';
count += tam;
}
E ainda nesse mesmo trecho, eu trocaria o:
count += tam;
Por:
count = i+tam;
Era isso msm. OBG
Só trabalhei com C na faculdade e faz algum tempo.
Bem-vindo a
Laboratorio de Garagem (arduino, eletrônica, robotica, hacking)
© 2024 Criado por Marcelo Rodrigues. Ativado por