c programming copying files

Having few issues with my copy program which creates a copy of a file user enteres. I decided not to use (size_t) structure instead just assigned (int) and (char) types variables so I know exact value of bytes to read() out. ie I know start at beggining of file and read 4 bytes(int) to get value of lenght of filename, which I use as size in next read() So, when I am writing (copying file exactly with same name) users inputted file to the output file (copied file) I writing it in long string, without spaces obviously just to make it readable here, filenamesize filename filecontentsize filecontent ie 10 myfile.txt 5 hello So when come to reading that data out I start at begining of file using lseek() and I know the first 4 bytes are (int) which is lenght of filename so I put that into value int namelen using the read function. My problem is I want to use that value read for the filenamesize(first 4 bytes) to declare my array to store filename with the right lenght. How do I put this array into read() so the read stores value inside that char array specified, see below please int namelen; //value read from first 4 bytes of file lenght of filename to go in nxt read() char filename[namelen]; read(fd, filename[namelen], namelen);//filename should have 'myfile.txt' if user entered that filename So my question is once I read that first 4 bytes from file giving me lenght of filename stored in namelen, I then want to read namelen amount of bytes to give me the filename of originally file so I can create copied file inside directory? Thanks
Post the entire 'copy' function (and lead-in logic / file descriptors /etc). It looks like your assumptions are way off base (why do you think the first 4 bytes of a file contain the length for example?)

以上就是c programming copying files的详细内容,更多请关注web前端其它相关文章!

赞(0) 打赏
未经允许不得转载:web前端首页 » CSS3 答疑

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

前端开发相关广告投放 更专业 更精准