Enviado em 21/10/2011 - 11:08h
E ai pessoal, olha eu de novo por aqui! Hoje vou sair um pouco da parte de configuração do Debian que geralmente é o assunto dos meus tópicos, e ir pra programação. Estou fazendo uns exercícios aqui em casa pra aprender melhor C, e me deparei com um problema, existe alguma maneira de após você entrar com dados em uma string você limpar ela para colocar outra coisa, mais ou menos assim:
#include <stdio.h>
#include <string.h>
int main()
{
char nome[40];
int i, tam;
printf ("Entre com a frase: ");
gets(nome);
tam = strlen (nome);
if (tam>40)
{
nome[0] = "\0";
printf ("\nTamanho invalido, maximo 40 letras");
printf ("\nDigite novamente: ");
gets(nome);
}
for(i=0; i<tam; i++){
printf ("\n%c", nome[i]);
}
printf ("\n\n");
return 0;
}
Mas nesse caso, ele não apaga os dados já existentes na string, ele apenas sobrepõe o que eu escrevi, por exemplo se eu escrever:
"Esta e uma frase de teste para estourar o limite de caracteres da string e forçar o erro"
(Não contei, mas vamos supor que essa frase tem mais que 40 caracteres!
Ai aparece a mensagem de erro, e pede pra eu digitar novamente, e caso eu digite:
"Teste"
Ele imprime a seguinte frase:
"Testee uma frase ...."
Como eu faço pra limpar os dados da string para colocar uma nova?
Desde já agradeço!
Valeu!
[]'a
#include <stdio.h>
#include <string.h>
int main()
{
char nome[40];
int i, tam;
printf ("Entre com a frase: ");
gets(nome);
tam = strlen (nome);
if (tam>40)
{
nome[0] = "\0";
printf ("\nTamanho invalido, maximo 40 letras");
printf ("\nDigite novamente: ");
gets(nome);
}
for(i=0; i<tam; i++){
printf ("\n%c", nome[i]);
}
printf ("\n\n");
return 0;
}
Mas nesse caso, ele não apaga os dados já existentes na string, ele apenas sobrepõe o que eu escrevi, por exemplo se eu escrever:
"Esta e uma frase de teste para estourar o limite de caracteres da string e forçar o erro"
(Não contei, mas vamos supor que essa frase tem mais que 40 caracteres!
Ai aparece a mensagem de erro, e pede pra eu digitar novamente, e caso eu digite:
"Teste"
Ele imprime a seguinte frase:
"Testee uma frase ...."
Como eu faço pra limpar os dados da string para colocar uma nova?
Desde já agradeço!
Valeu!
[]'a