átirányítás

Sziasztok!

Most kezdünk 'C'-ben programozni a suliban. Már most az elején elakadtam, szeretnék megtudni egy alapdolgot, lehet, hogy nem is ide kellene írnom, de, mivel az utána olvasgatások eredményeként a tanuláshoz Anjuta-t szeretnék használni (sokan dícsérték), itt teszem fel a kérdésemet (a suliban természetesen Win XP-n gyakorolunk, bár UHU is van a gépeken, csak nem nagyon esett szó arról, hogy ott hogyan is kell lefordítani/lefuttatni az elkészített programokat, ezért kérdezek itt). Na, mindegy...
Szóval: adott egy program, amely számokat ad össze. A számokat egy *.txt file-ból olvassa be, és addig fut, amíg 'EOF'-t nem lát. Az a kérdésem, hogy mivel tudom elérni, hogy a programfuttatásnál tényleg az adott filéből olvasson. Winen így néz ki a parancs a terminálban (vagy minek hívja): 'program
Most indítottam először Anjuta-t, és addig eljutottam, hogy lefordult a program, készült futtatható állomány is, el is lehet indítani, csak arra nem jöttem még rá, hogy miképpen lehet rávenni a file-ból olvasásra.
Jól jönne egy kis segítség

Köszönettel: eReL

Hozzászólások

nem értelek.
#include
int main(){
FILE *file_descriptor;
file_descriptor=fopen("akármi.txt","r");
.
.
.
fclose(file_descriptor);
return 0;
}
és így az "akármi.txt" nevű fájlból fogsz olvasni linuxon és winen is
de nem értem mi nem megy neked.

Köszi szépen.
Azonban nem a programból nyitottuk meg a file-t, hanem a futtatáskor a lefordított programot olyan paraméterrel indítottuk el, hogy ebből a file-ből olvasott. A parancs winen ez volt: 'program [Alt Gr]+[í] akarmi.txt'. Próbáltam így futtatni az 'Anjuta'-val elkészített futtatható programot, működött, de nem az 'akarmi.txt' file-ból olvasta az értékeket, hanem várta, hogy gépeljek. (első programozás konzultációnk volt ez, úgyhogy még nem vettük a file-műveletek programozását).

uttatáskor a lefordított programot olyan paraméterrel indítottuk el, hat nem teljesen, ugyanis a <filename es >filename, nomeg a >>filename nem a programnak szol, hanem a shell-nek (WinFo$ eseten ez a cmd/command), a programodnak ilyen esetben lovese sincs arrol a "parameterrol" :-). Ezt atiranyitasnak hivjak es a dologrol a shell intezkedik, azaz a stdin-t vagy stdout-ot nem a billentyuzetrol, "kepernyore" organizalja, hanem a nevezett filebol/fileba... Ja, Un*x alatt is mukodik (sot ott mukodik csak igazan ;-)), ugyhogy ha valami nem ment akkor mashol kell keresni a problemat...

Zsiraf

Na, igen. Ezt értem, hogy átirányítás.
De akkor miért nem megy linuxon, amikor karakterre ugyanaz a forrás (sőt több is) Winen jól működik?

Esetleg annyit még próbáljak meg, hogy pl.: 'gedit'-tel elmentem a szöveges file-t (ugyanis wines jegyzettömbbel írtuk-nem írtam felül a file-t egy linuxos szövegszerkesztővel még) ?
___
Semmi sem biztos. Még az sem biztos, hogy semmi sem biztos.

Na, kipróbáltam...
de sajnos nem megy továbbra sem.
Kipróbáltam a többi, órán írt programot is, és mind fut, kivéve azokat, amelyek fájlból akarnak olvasni... Pedig már 'mcedit'-tel kiszedtem a '^'-kat a sorok végéről :D
Dehát ezek OTT mentek :(
Mi az átirányítás szintaktikája? (Hova kell szóköz?)

___
Semmi sem biztos. Még az sem biztos, hogy semmi sem biztos.

Sziasztok!

Megoldódott a gondom!
Igazatok volt: eennek így működnie KELL. Müködik is, de csak úgy, ha közvetlenül a terminálba írom be emígyen: './program 'kacsacsőr'szovegfile.txt'. Az volt a gondom, hogy az 'Anjuta'-n keresztül szerettem volna kipróbálni a programot, de -ezek szerint- úgy nem működik tökéletesen, csak közvetlenül a terminálban.

ui.: a "kacsacsőr" karakter még mindig levágja a hozzászólásom további részét... :(
__
Semmi sem biztos. Még az sem biztos, hogy semmi sem biztos.

Hopp, ez kétszer ment :)

De le is vágta a hozzászólásom utolsó kétharmadát!!!
és nem tudom megszerkeszteni...
úgy látszik nem akarja a fórummotor, hogy megtudjam a válasz a kérdésemre... :D

ÜZENET trey-nek: Megvan a gond!!!

Az 'Alt Gr' + í, azaz "kacsacsőr" karakter levágja a hozzászólás további részét (vagy átirányítja vhova :D ) Így már sikerül kijavítanom az előzőt is...
___
Semmi sem biztos. Még az sem biztos, hogy semmi sem biztos.

Szerintem nem, IMHO a progija tele van scanf() hívásokkal,
és hogy ne kelljen annyit gépelni, írtak egy input.txt-t ami
kb ilyen formátumban lehet
15
25
21
15
EOF
az lehet a gond, hogy winen készült a szövegfájl, és a sorvége jelek fordítva vannak. most megnemmondom hogy ASCII 10 ASCII 13 vagy fordítva-e :)

akkor viszont a kacsacsőr mér nem működik? scanf()-fel beolvassa a cuccost stdin-ről, a kacsacsőr meg megmondja, hogy az stdin az akarmi.txt. mondjuk a sorvége karakter az tényleg be tud keverni, de azt gondoltam, ha egyszerű C próbálgatás van linuxon, akkor ott álltak elő a tesztadatok.