Kezdőoldal » Számítástechnika » Programozás » C-ben alacsony szintű fájlkeze...

C-ben alacsony szintű fájlkezelés, valami hiba van a 20 soros programomban, de már 6x újra írtam és nem értem mi a gond, esetleg a gépemben keressem a hibát?

Figyelt kérdés

Egyébként a fájlnevet leszámítva egy az egyben a gyakorló példákból van kiszedve, tehát ha ez rossz akkor a példa is rossz amit próbálok gyakorolni, csak már órák óta ülök felette és kissé kezdem felhúzni magamat.


#include <stdio.h>

#include <sys/stat.h>

#include <fcntl.h>


#define fnev "./gyakszi.txt"


void main(void)

{

int f1=0;

char szoveg[]="Saját nevem: Hentes";


f1=open(fnev, O_CREAT|O_RDWR|O_TRUNC, S_IREAD|S_IWRITE);

printf("%d\n\n", f1);



f1=write(fnev, &szoveg[0], 3);

printf("%d\n\n", f1);



close(f1);


return 0;

}


A write után -1-et ad ami ha minden igaz a hiba üzenetet jelenti, hogy nem sikerült.(a fájlba se ír bele semmit, tehát gyanítom azt jelenti).


Segítségeteket köszönöm előre is!



#alacsony szintű fájlkezelés
2017. szept. 27. 15:08
 1/5 anonim ***** válasza:
0%
Dokumentációt elolvasni büdös?
2017. szept. 27. 15:25
Hasznos számodra ez a válasz?
 2/5 A kérdező kommentje:

Éppenséggel a tanárok által kiadott jegyzetet és feladatokat olvasgatom(amiből eddig egyik sem futott le a gépemen).

Amit kihagytam: órán sikerült lefutó programot csinálnunk, de azt 7 pecsétes titkok védik és se emailban se pendrive-on nem hozhatom haza, hogy esetleg működő programokkal gyakorolhassak.


Egyébként ha észrevetted a hibámat megoszthatnád, hidd el nagyon örülnék neki.

2017. szept. 27. 15:31
 3/5 SimkoL ***** válasza:
100%
write(f1, &szoveg[0], 3);
2017. szept. 27. 16:01
Hasznos számodra ez a válasz?
 4/5 sharkxxx ***** válasza:

Elnézted a "write" funkció első paraméterét,

a "write" funkció visszatérési értékét,

és a "main" funkció visszatérési értékét.


#include <stdio.h>

#include <sys/stat.h>

#include <fcntl.h>


#define fnev "./gyakszi.txt"


int main(void)

{

    int f1 = 0;

    char szoveg[] = "Saját nevem: Hentes";


    f1 = open(fnev, O_CREAT|O_RDWR|O_TRUNC, S_IREAD|S_IWRITE);

    printf("%d\n\n", f1);


    if (f1 >= 0) {

        int nwritten = write(f1, &szoveg[0], 3);

        printf("%d\n\n", nwritten);


        close(f1);

    }


    return 0;

}

2017. szept. 27. 16:08
Hasznos számodra ez a válasz?
 5/5 A kérdező kommentje:
Köszönöm szépen, tényleg elnéztem.
2017. szept. 27. 17:00

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!