Kezdőoldal » Számítástechnika » Programozás » Clion-ban hogy tudom elérni...

Clion-ban hogy tudom elérni az EOF-et?

Figyelt kérdés

C-ben írok egy programot, a Clion IDE-ben. És szükségem lenne arra, hogy EOF beolvasása esetén majd leálljon egy ciklus.

Két problémám lenne.:

1.: Nem tudok EOF-et írni, elméletben a Ctrl+Z-re adná be, de arra nem ad semmit.

2.: Ha már meglenne az EOF, akkor hogy tudnám annak értékét -1-re állítani?(ha jól tudom alapból 0 értékű)


Előre is köszi a segítséget!



2018. szept. 29. 16:52
 1/9 anonim ***** válasza:
Más se érti miről van szó?
2018. szept. 29. 17:27
Hasznos számodra ez a válasz?
 2/9 A kérdező kommentje:

EOF=End of File

Olyan karakter ami biztosan különbözik minden más ascii karaktertől.

Elméletben Ctrl+Z kombinációval lehet kiírni, egy ^Z-nek kéne megjelenni.

2018. szept. 29. 18:08
 3/9 anonim ***** válasza:
Mi? Nem. Az EOF az EOF. Nem értem mi ez a Ctrl+Z badarság amiről habogsz. Az EOF egy létező érték a C nyelvben, ami lényegében -1-nek felel meg. Miért? Mert a -1 eltér bármilyen char értéktől amit beolvashatsz. Ennyi. A ciklusod mehet addig, amíg a beolvasos eredménye nem lesz EOF, vagy -1.
2018. szept. 29. 19:26
Hasznos számodra ez a válasz?
 4/9 anonim ***** válasza:
100%
Próbáld ki ctrl-D -re. Erre kiadja?
2018. szept. 29. 19:36
Hasznos számodra ez a válasz?
 5/9 anonim ***** válasza:
100%
Mármint Ctrl+D
2018. szept. 29. 19:37
Hasznos számodra ez a válasz?
 6/9 anonim ***** válasza:
A CTRL-Z az nem a file vége, hanem a file editálásának vége, azaz, a file lezárása, írás után.
2018. szept. 29. 19:51
Hasznos számodra ez a válasz?
 7/9 A kérdező kommentje:

A 3-astól kérdezem, hogy akkor ha az a feladat hogy addig olvassunk be a bemenetről amíg nem kapunk EOF-et, akkor amikor véget akarsz vetni a futásnak, mivel viszed be az "EOF"-et?


Utolsónak köszönöm, Ctrl+D-re bedobta, de az kicsit mást jelentett, a sor végét, viszont ennek a Ctrl+D-s jelet átírtam -1-re mintha tényleges EOT lenne, így működik amit akartam.

Köszi

2018. szept. 29. 19:52
 8/9 anonim ***** válasza:

"akkor amikor véget akarsz vetni a futásnak, mivel viszed be az "EOF"-et?"



int num;

Do {Scanf(***);} while (num !=EOF) ;

2018. szept. 29. 20:39
Hasznos számodra ez a válasz?
 9/9 anonim ***** válasza:
100%

Nem pont erre gondoltam, a gányolásnak nem vagyok híve.

Csak kérdésként írtam, mivel a unix alapú rendszerekben ctrl + D felel meg a standard input-ban az eof küldésének, ha a standard inputot a billentyűzetpufferből olvassa. Esetleg ha ott is így lenne megoldva arra gondoltam.

Itt is írnak róla: [link]

2018. szept. 29. 20:47
Hasznos számodra ez a válasz?

Kapcsolódó kérdések:




Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!