Smazat příspěvek

 Chystáte se smazat zprávu (se všemi případnými odpověďmi) z kategorie Hlavní diskuze:


1.01.2013 (18:09:59)
mix-d:
asi som slepy ale neviem prečo ten cyklus nechce skoncit, vsetko zapise do suboru ako ma a pokračuje aj po entere
http://pastebin.com/hcSZub4W **07
1.01.2013 (18:23:20)
Goheeca (web) :
to je jednoduchy scanf zahazuje bily znaky -- pouzij getchar
1.01.2013 (18:29:12)
Goheeca (web) :
teda nezahazuje ovsem nekdy si clovek musi radne prostudovat dokumentaci jak ten scanf parsuje
ty tam totiz mas chybu:
scanf("%c",&c)!= '\n'
tohle je spatna podminka viz http://www.cplusplus.com/reference/cstdio/scanf/#return
ale stejne bych pouzil getchar
1.01.2013 (18:36:25)
mix-d:
robi to to ista ja keď tam dam
while (scanf("%c",&c)!= 0) //alebo NULL
iba ked som dal tomu natvrdo 5 opakovani bolo to ok
1.01.2013 (19:27:03)
Goheeca (web) :
precet sis tu dokumentaci?
musis porovnavat c s '\n' takze muzes napsat treba tohle:
while (scanf("%c",&c), c != '\n')
1.01.2013 (20:02:48)
mix-d:
som asi magor
funguje to len s tymto
while((c=getchar())!= ' ')
{
scanf("%c",&c);
putc(c, fw);
}
ked tam dam
while((c=getchar())!= '\n')
{
scanf("%c",&c);
putc(c, fw);
}
tak to len skonči a nič nerobi
už fak netušim (to tvoje urobilo to iste)
1.01.2013 (20:09:56)
mix-d:
oprava funguje to len s tymto
while((c=getchar())!= ' ')
putc(c, fw);
1.01.2013 (20:37:19)
Goheeca (web) :
tak mi rekni co ti dela tenhle programek:
http://pastebin.com/azhzTwBy
vstup: abcd efgh
vystup:
[97]a
[98]b
[99]c
[100]d
[32]
[101]e
[102]f
[103]g
[104]h
1.01.2013 (20:53:44)
mix-d:
toto funguje,
ja tomu nechapem čo dam do toho tak to na to reaguje, ale ak tam dam \n tak cely cyklus akoby preskočilo (v rámci tohto programku, inde mi to ide ok)
1.01.2013 (23:44:44)
Goheeca (web) :
otazka co je na vstupu terminalu (ruzne bufferujou a polykaj znaky) napis co je to za platformu -- musi bejt hodne obskurni protoze znak \n by mel fungovat multiplatforme na standardnim vstupu (neplest s ukoncenim radku v souboru (\n, \r, \r\n) to je neco jinyho ...)
// a jeste si vyzkousej vypisovat znaky v cyklu jen tak bez podminky a zjisti co to vraci na enter ...
2.01.2013 (10:46:15)
mix-d:
http://pastebin.com/A43i4RKr
co to robi asi pochopis z kodu a spusteneho programu
je to pod win xp, devc++,
--momentlane text ukoncujes 5+enter
2.01.2013 (11:43:27)
Goheeca (web) :
to je jednoduchy scanf nacte volbu ale necha v bufferu \n to pak prectes getchar ve while a hned skoncis ...
takze si napis nejakou takovouhle funkci:
void discard(FILE* istream) {
char c;
while ((c = getc(istream)) != EOF && c != '\n');
}
volej ji:
discard(stdin);
ta ti vyprazdni bufferu (sezere vstup) do konce radky (vcetne) -- takze ji volej mezi tou volbou sifry a tim whilem ...
2.01.2013 (12:13:41)
mix-d:
dakujem, funguje to,ale neviem ako **28
??? FILE* istream
??? c = getc(istream)
2.01.2013 (12:22:33)
Goheeca (web) :
no tak existuji funkce fscanf a getc a pak scanf a getchar apod. pricemz scanf je naimplementovany pomoci fscanf a deskriptoru standardniho vstupu (interne to muze byt implementovany jinak ale na venek se to musi chovat tak jak jsem napsal) jako ty sis vytvoril fw tak ve stdio.h mas soubory stdin, stdout a stderr
mohl jsem udelat ten discard bezparametrovy a pouzit getchar jenze to by nebylo univerzalni
3.01.2013 (09:28:47)
PATOLOG (web) :
"to je jednoduchy scanf nacte volbu ale necha v bufferu \n to pak prectes getchar ve while a hned skoncis ...
takze si napis nejakou takovouhle funkci:"
.. no, a čo tak dať do scanfu ako riadiaci string "%d\n"


Přezdívka:*
Heslo:*

█ █   █ █   ███   
█ █   █ █   █     
███   ███   ███   
  █     █     █   
  █     █   ███   
Opiš:*

Zde můžete smazat vlastní vlákno nebo kteroukoliv odpověď v něm. Můžete smazat vlastní odpověď v cizím vlákně, pokud na ni ještě nikdo jiný nereagoval. Mazat cizí vlákna a odpovědi v nich mohou pouze admini. Smazání příspěvku je nevratná operace! Smazáním vzkazu se smažou i odpovědi na něj.
Seznam uživatelů
Zpět na knihu