Kezdőoldal » Számítástechnika » Programozás » Windows-ban melyek azok a...

Windows-ban melyek azok a header fájlok, amelyek ezen program működéséhez kellenek?

Figyelt kérdés

1 #include <stdio.h>

2 #include <unistd.h>

3 #include <sys/types.h>

4 #include <sys/stat.h>

5 int main(void)

6 {

7 int hnd;

8 int r;

9 char c;

10 hnd=open("text.txt",O_RDONLY);

11 while(1)

12 {

13 r=read(hnd,&c,1);

14 if(r<1) break;

15 printf("%c",c);

16 }

17 close(hnd);

18 return 0;

19 }



2016. márc. 24. 16:54
1 2
 1/18 anonim ***** válasza:
Ami kell az már benne van.
2016. márc. 24. 16:56
Hasznos számodra ez a válasz?
 2/18 A kérdező kommentje:
És, hogyan adhatok meg elérési vonalat, ha máshol van a fájl?
2016. márc. 24. 17:00
 3/18 anonim ***** válasza:
Azt a fordító paramétereként kell megadni.
2016. márc. 24. 17:06
Hasznos számodra ez a válasz?
 4/18 A kérdező kommentje:
Írnál légyszíves egy példát a programomba? (Még csak negyed éve tanulok programozást, nem nagyon értem...)
2016. márc. 24. 17:09
 5/18 anonim ***** válasza:
De mi a gond vele, nem fordul le?
2016. márc. 24. 17:32
Hasznos számodra ez a válasz?
 6/18 A kérdező kommentje:
Lefordul, csak nem tudom, hogy hova írjam, be a fájl elérési útját... És én azt csak egy példából érteném meg jobban.
2016. márc. 24. 17:52
 7/18 anonim ***** válasza:
A text.txt-t kell átírni abszolút vagy relatív útvonalra.
2016. márc. 24. 18:15
Hasznos számodra ez a válasz?
 8/18 anonim ***** válasza:
Használj MSYS2-t vagy Cygwin-t a fordításhoz, futtatáshoz, vagy dobd a ki belőle POSIX-féle műveleteket és írd meg a standard könyvtárral.
2016. márc. 24. 18:48
Hasznos számodra ez a válasz?
 9/18 anonim ***** válasza:

Megadhatod a program futása alatt is a fájl útvonalát, vagy akár paraméterként is. Előbbi esetében szükséged van egy karaktertömbre, amelyet feltöltesz a standard bemenetből. Ha tetszőleges hosszúságú szöveget szeretnél beolvasni, akkor meg kell ismerkedned a dinamikus memóriafoglalással is, de kezdetnek megteszik a statikus tömbök is:

char path[256]; // deklarálsz egy 256 karaktert tárolni képes tömböt

fgets(path,256,stdin); // beolvasol a standard bemenetről legfeljebb 255 karaktert, vagy annál kevesebbet, az utolsó a terminális nulla lesz, amely C nyelvben a string végét jelzi.

Valószínűleg a string végén ott lesz egy '\n' karakter is, azt levágod: path[strlen(path)-1] = '\0';

Most pedig már csak az útvonalat tartalmazza, és átadhatod paraméterként az fopen()-nek. Álljék itt egy példa:

#include <stdio.h>

#include <string.h>


int main() {

FILE *fp;

char c, path[256];


printf("fajl utvonala: ");

fgets(path,256,stdin);

path[strlen(path)-1] = '\0';

if((fp = fopen(path,"r")) == NULL) {

printf("fajl megnyitasa olvasasra sikertelen.\n");

return 1;

}

while((c = fgetc(fp)) != EOF) fputc(c,stdout);

fclose(fp);

return 0;

}


Ha paraméterként szeretnéd átadni a fájlnevet, akkor pedig:

int main(int argc, char *argv[]) {

FILE *fp;


if(argc == 2) fp = fopen(argv[1],"r");

...

}

2016. márc. 24. 18:58
Hasznos számodra ez a válasz?
 10/18 anonim ***** válasza:
Bocs, azt hittem a header fájlokról van szó. (#3 voltam.)
2016. márc. 24. 19:00
Hasznos számodra ez a válasz?
1 2

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!