Kezdőoldal » Számítástechnika » Programozás » C fájlkezelésben valaki segítene?

C fájlkezelésben valaki segítene?

Figyelt kérdés

Feladat: alacsony szinten hozzunk létre egy fájlt, írjuk bele a nevünket majd zárjuk le. Ezután olvassuk ki az információt a fájlból.


Én windows alatt csinálom, szóval aki ezalatt letudná futtatni, és/vagy esetleg a hibát megmondani azt megköszönném!:D


#include <stdio.h>

#include <stdlib.h>

#include <unistd.h>

#include <string.h>

#include <sys/types.h>

#include <sys/stat.h>

#include <fcntl.h>

#include <io.h>



int main()

{

int fh;

int fg;

int a;

int b;

char c[20];

char s[]="nevem";

fh=open("adat1.txt",O_RDWR | O_CREAT | O_TRUNC | O_BINARY | S_IWRITE | S_IREAD);

a=write(fh,s,strlen(s));

close(fh);


fg=open("adat1.txt",O_RDWR | O_BINARY);

b=read(fg,c,20);

printf("tartalma: %s\n",c);

close(fg);


return 0;

}


az a gond, h amikor printf-el kiíratnám a tartalmát akkor fura karaktereket ír ki össze vissza. Mit ronthattam le? köszi!


2013. szept. 23. 20:38
 1/2 iostream ***** válasza:

A read/write nem szabvány C függvények, nem tudom pontosan hogy működnek, de minden valószínűség szerint a c tömb tartalma az lesz, hogy {'n', 'e', 'v', 'e', 'm' és 15 szemét karakter}, ugyanis inicializálatlan terület maradt, és nem írtál bele sehol 0-t, márpedig a printf 0-nál áll meg %s esetén.


Így írd:

char c[20] = {0};

2013. szept. 23. 21:43
Hasznos számodra ez a válasz?
 2/2 A kérdező kommentje:
azt adom sikerült is:DDD köszi:D
2013. szept. 23. 21:53

További 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!