problem z odczytaniem pliku do pierwszej spacji.

0

Mam problem z programem. chce by odczytał plik do pierwszej spacji w nim . ja napisalam cos takiego ale to nie dziala

int main(int argc, char* argv[])
{
int i;
char tab[20],bufor;

FILE* ptr;
ptr = fopen("aaa.txt","rt");
if (!ptr)
{
printf("error!");
getch();
return 0;
}
else

for(i=0;i<200;i++)
{
  if(fread(&bufor,1,1,ptr))
  do
  tab[i]=bufor;
  while(bufor!=' ');

}
printf(tab);
fclose(ptr);
return 0 ;
}

0
int main(int argc, char* argv[])
{
  int i;
  char tab[20],bufor;

  FILE* ptr;
  ptr = fopen("aaa.txt","rt");
  if (!ptr)
  {
    printf("error!");
    getch();
    return 0;
  }
  else

    for(i=0;i<20;i++)    // tu miales i<200, a przeciez tablice zadeklarowales jako 20 elementową :?
    {
      if(fread(&bufor,1,1,ptr))
      {
              if(bufor!=' ')                    // tu troche zmienilem
                     tab[i]=bufor;             //
              else                            //
             {                               //
                    tab[i]='\0';            //           
                   break;                  //
              }                           //
      }
    }
  printf(tab);
  fclose(ptr);
return 0 ;
}

Powinno zadziałać chociaż nie wiem, czy nie ma lepszego rozwiazania, bo na C to się raczej nie znam ( tylko tyle co z nauki C++ )

0

Dzisiaj same linki z pod choinki :-D

http://www.cplusplus.com/ref/cstdio/fscanf.html

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0