Hiho forumeiros (;
Minha duvida de hoje é a seguinte
como faço para declarar uma string sem determinar um valor?
Ex: char string [10];
Ao invez de usar o "10" deixar totalmente disponivel para receber caracters a vontade.. tanto 1 quanto 1.000 ..
estou usando esse code:
# include <stdio.h>
# include <string.h>
#define strsize 10
int main()
{
char str1 [5][strsize], str2[];/* Como colocar valor indefinido em str2? */
int x,size;
for (x=0;x<5;x++)
{
REFAZ: printf ("\nEntre com uma string ate 5 caracters: ");
gets (str2);
size=strlen (str2);/*strlen conta com operador nulo */
if (size > 6) goto REFAZ; /* retorna a pergunta caso seja ultrapassada */
fgets (str1[x], strsize, stdin);
}
for (x=0;x<5;x++)
{
printf ("String: %s\n", str1[x]);
}
system ("PAUSE>>NULL");
return 0;
}
Em relação a esse codigo, se o tamanho maximo perminito para cada posição da string for de 5 caracters e o usuario informar "8" por exemplo.. ela ira preencher os 5 caracters e os 3 restantes irá preencher na posição seguinte.. portanto como não estou conseguindo "cortar" com o fgets estou fazendo um teste caso o usuario informe mais que o permitido o programa descartar o valor informado e refazer a pergunta.. se alguem poder me ajudar agradeço!