Ohjelman tarkoitus olisi lukea Puskuri1:sta ensimmäiseen pilkkuun asti ja kopioida ne merkit puskuri2:een.
Ohjelma toimii muuten hyvin mutta koska puskuri1 ei ole pakosti muotoa char niin ohjelma kaatuu välillä.
Mitenkä saan tämän bugin korjattua?
Tälläinen on sscanf komento:
sscanf(puskuri1,"%[^,]",puskuri2);
sscanf
4
751
Vastaukset
- keksa
niin pitäis olla sama onko siellä yks vai enemmän
char puskuri [20];
sscanf(puskuri1,"%s",puskuri2);
sitten menet puskuri2 läpi merkki kerrallaan, että onko siellä sitä pilkkua?- keksa
pelkkä %c lukis aina merkin kerrallaan ja sitä voisit sitten vertailla siihen pilkkuun
http://www.cplusplus.com/reference/clibrary/cstdio/sscanf.html
- ..toiseen
Siis mitä ihmettä? Etsit pilkkua puskurista 'joka ei ole pakosti muotoa char'??
Siis onko puskuri char-taulukko vai ei? Jos on, ei pilkun etsintään mitään sscanf:fia tarvita.
for (int i=0; i < strlen(puskuri); i)
if (puskuri[i] != ',')
puskuri2[i] = puskuri[i];
else
break; - hemmoit
sscanf(puskuri1,"%s,",puskuri2);
Tämän pitäisi pakottaa:
sscanf(puskuri1,"%[^,]s",puskuri2);
muista nollata puskuri2 vaikka memset kutsulla.
Ketjusta on poistettu 0 sääntöjenvastaista viestiä.
Luetuimmat keskustelut
- 1077773
Siekkilässä ajettu ihmisten yli- mitä tapahtui? Länsi-Savo ei ole uutisoinut asiata
Manneja, vaiko matuja?1126036- 835187
- 1394546
Alavuden sairaala
Säästääkö Alavuden sairaala sähkössä. Kävin Sunnuntaina vast. otolla. Odotushuone ja käytävä jolla lääkäri otti vastaan113230- 633014
- 582948
Törkeää toimintaa
Todella törkeitä kaheleita niitä on Ylivieskassakin. https://www.ess.fi/uutissuomalainen/8570818102454- 612437
Hei........
Pelkkä sun näkeminen saa mut hymyilemään pitkin iltaa. Oot niin 🤩😘 Edellinen poistettiin.562066