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.

Jsou zobrazeny jen nové odpovědi. Zobrazit všechny
Předmět Autor Datum
Preboha, to si od koho opisal ze sa v tom ani nevyznas? treba vyhodit to else break;}} resp dat nami… poslední
MM.. 18.11.2007 16:55
MM..

Zpět do poradny Odpovědět na původní otázku Nahoru