• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

question-closed Język C Błąd programu, Potrzebna pomoc w znalezieniu

–1 głos
257 wizyt
pytanie zadane 4 marca 2017 w C i C++ przez lukasz9819 Początkujący (360 p.)
zamknięte 4 marca 2017 przez lukasz9819
    
       else
            {
               for(t=0;t<ile;t++)
               {printf("dziala1 ");
               bt=fopen("tow.txt","r");
               zast=fopen("zast.txt","a");
           for(i=1;i<ile;i++)
                {
                fscanf(bt,"%d,%s",&id,nazwatow);
                char *przecinek = strchr(nazwatow, ',');
                *przecinek = 0;
                przecinek++;
                liczbaszt = atoi(przecinek);
                i++;
                fscanf(bt,"%d,%s",&id1,nazwatow1);
                char *przecinek1 = strchr(nazwatow1, ',');
                *przecinek1 = 0;
                przecinek1++;
                liczbaszt1 = atoi(przecinek1);
                if(strcmp(nazwatow, nazwatow1)<0)
                {
                    fprintf(zast,"%d,%s,%d\n",id,nazwatow,liczbaszt);
                    fprintf(zast,"%d,%s,%d\n",id1,nazwatow1,liczbaszt1);
                }
                else
                {
                    fprintf(zast,"%d,%s,%d\n",id1,nazwatow1,liczbaszt1);
                    fprintf(zast,"%d,%s,%d\n",id,nazwatow,liczbaszt);
                }
                }
                printf("dziala14 ");
                char *przecin = strchr(nazwatow, ',');
                printf("dziala14 ");
                *przecin = 0;
                printf("dziala14 ");
                przecin++;
                printf("dziala14 ");
                liczbaszt = atoi(przecin);
                printf("dziala14 ");
                fprintf(zast,"%d,%s,%d\n",id,nazwatow,liczbaszt);
                printf("dziala14 ");
                fclose (bt);
                fclose (zast);
                remove("tow.txt");
                rename("zast.txt","tow.txt");
                printf("dziala14 ");
                bt=fopen("tow.txt","r");
               zast=fopen("zast.txt","a");
                fscanf(bt,"%d,%s",&id,nazwatow);
                char *przecine = strchr(nazwatow, ',');
                *przecine = 0;
                przecine++;
                liczbaszt = atoi(przecine);
                fprintf(zast,"%d,%s,%d\n",id,nazwatow,liczbaszt);

Wstawiony kod wyrzuca błąd po wypisaniu drugiej działa 14, używałem identycznych funkcji wcześniej i wszystko działało a teraz nie mam pojęcia

komentarz zamknięcia: Komentarz rozwiązał problem
2
komentarz 4 marca 2017 przez tangarr Mędrzec (155,140 p.)

Najprawdopodobniej zmienna nazwatow (w linii 32) nie zawiera przecinka.

char *przecin = strchr(nazwatow, ',');
if (przecin == NULL)
     printf("coś poszło nie tak!\n");

 

komentarz 4 marca 2017 przez lukasz9819 Początkujący (360 p.)
Dzięki wielkie tak to był ten błąd

Podobne pytania

0 głosów
3 odpowiedzi 466 wizyt
pytanie zadane 21 lutego 2016 w HTML i CSS przez Karitto Użytkownik (610 p.)
0 głosów
1 odpowiedź 271 wizyt
pytanie zadane 4 maja 2016 w C i C++ przez MikoLoczko Nowicjusz (150 p.)
+1 głos
4 odpowiedzi 398 wizyt
pytanie zadane 10 kwietnia 2016 w C i C++ przez Rappa2 Obywatel (1,540 p.)

93,743 zapytań

142,682 odpowiedzi

323,299 komentarzy

63,330 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj

Twierdza Linux. Bezpieczeństwo dla dociekliwych

Aby uzyskać rabat -10%, użyjcie kodu pasja-linux, wpisując go w specjalne pole w koszyku.

...