Přidat otázku mezi oblíbenéZasílat nové odpovědi e-mailemVyřešeno borland C-nacitanie n znakov s medzerami z klavesnice

Zdravim, potrebujem pomoct s nacitanim n znakov(moze obsahovat aj medzere)-mam to nejak takto:

....
typedef struct{
 char meno[20];
 char priezvisko[30];
 } clovek;

void nacitaj(char udaj[],int poc)
{int i=0,j=0;
 for (j=0;j<poc;j++)
  udaj[j]='\0';
 i=0;
 while ((j=getchar())!='\n')
  {if (i<(poc-1))
   {udaj[i]=j;
   i++;}
   else break;}}

void main(void)
{clrscr();
 printf("Zadaj meno(max 20 znakov):\n");
 nacitaj(osoba.meno,20);
 printf("Zadaj priezvisko(max 30 znakov):\n");
 nacitaj(osoba.priezvisko,30);
 printf("\nMeno: %s",osoba.meno);
 printf("\nPriezvisko: %s",osoba.priezvisko);
 getch();}

...problem ale je, ze ked sa prvy string(meno) zada dlhsi ako 20 znakov, tak sa tie prebytocne znaky nacitaju do toho dalsieho stringu(prieyvisko). Poradte mi, ako to spravit(a aby to bolo cim jednoduchsie). dik.

Odpověď na otázku

1 Zadajte svou přezdívku:
2 Napište svou odpověď:
3 Pokud chcete dostat ban, zadejte libovolný text:

Zpět do poradny