Aktív témák
-
zfarkas
senior tag
Nem volt gáz, csak a mutatók egy kicsikét elcsúsztak. Jobban át kellett volna gondolni, hogy mi hol dolgozik a sztringekben.
A hiba azért volt, mert ha azt írod, hogy adat[6], akkor az egy char-t jelent, de a &(adat[6]) egy char címe a memóriában (char *). Tehát te egy char-t adtál át a függvénynek ''karakterre mutató'' mutató (char *) helyett. -
zfarkas
senior tag
Sorry, ahol [ i ] szerepel, ott átvált dőlt betűre.
Na akkor szóközökkel megoldva:
#include <stdio.h>
#include <conio.h>
#include <string.h>
struct adat {
char nev[30];
char fogott[3];
char olvasott[81];
};
struct adat eredmeny[3];
int main()
{
int i, j, k, elso;
strcpy(eredmeny[0].olvasott, ''Skylark;4;30 lb, 15 oz, 15 dr;'');
strcpy(eredmeny[1].olvasott, ''Stephan;2;33 lb, 0 oz, 0 dr;'');
strcpy(eredmeny[2].olvasott, ''rasc;1;30 lb, 10 oz, 2 dr;'');
for (j = 0; j < 3; j++)
{
for (i = 0; eredmeny[j].olvasott[ i ] != ';' && i < 30; i++);
for (k = 0; eredmeny[j].olvasott[i+k+1] != ';' && k < 4; k++);
strncpy(eredmeny[j].fogott, &(eredmeny[j].olvasott[i+1]), k);
}
for (j = 0; j < 3; j++) printf(''%s '', eredmeny[j].fogott);
return 0;
}
Ennek már jónak kell lennie.
[Szerkesztve]
[Szerkesztve] -
zfarkas
senior tag
Itt nem használod az i ciklusváltozót:
for(i=0;i<30;i++) if(eredmeny[j].olvasott==';') break;
Ide meg olvasott[k] helyett olvasott[i+k+1] kellene:
for(k=0;k<4;k++) if(eredmeny[j].olvasott[k]==';') break;
És itt nem i+k, hanem k darabot kell csak másolni:
strncpy(eredmeny[j].fogott,eredmeny[j].olvasott,i+k);
Szerintem...
Aktív témák
Hirdetés
- Dell Latitude 5450 Intel Core Ultra 5 135U 4nm 32GB DDR5 érintőképernyős laptop Dell gari 2027.09.hó
- PlayStation 4/5 kontroller analóg cseréje HALL TMR érzékelősre, 1 év garancia!!! Nincs többé drift!!
- PlayStation 5/4 kontroller analóg cseréje HALL TMR érzékelősre, 1 év garancia!!! Nincs többé drift!!
- XBOX ONE/Series kontroller analóg cseréje HALL TMR érzékelősre, 1 év garancia!!! Nincs többé drift!!
- XBOX Series S 512GB, 6 hó garanciával Bp-i üzletből eladó!
- ÁRGARANCIA!Épített KomPhone Ryzen 5 7600X 32/64GB RAM RTX 5070 12GB GAMER PC termékbeszámítással
- Samsung Galaxy A12 64GB, Kártyafüggetlen, 1 Év Garanciával
- AKCIÓ! HP Victus 16-R1002NF Gamer notebook - i7 14700HX 16GB RAM 1TB SSD RTX 4070 8GB WIN11
- BESZÁMÍTÁS! ASUS H87I-PLUS H87 chipset alaplap garanciával hibátlan működéssel
- AKCIÓ! MSI B365M i5 8600 16GB DDR4 512GB SSD RX 5700XT 8GB CM MASTERBOX Q300L Zalman 600W
Állásajánlatok
Cég: PC Trade Systems Kft.
Város: Szeged
Cég: PC Trade Systems Kft.
Város: Szeged