ÇÁ·Î±×·¡¹Ö

 3204, 1/161 ȸ¿ø°¡ÀÔ  ·Î±×ÀΠ 
   tongil8167
   ¼÷Á¦´Â È¥ÀÚ ÈûÀ¸·Î..°ÚÁö¸¸..¾î·Á¿ö¼­¿ä..ÇïÇÁ ¿äû¿ä^^;;

http://www.hackerschool.org/HS_Boards/zboard.php?id=QNA_programming&no=795 [º¹»ç]


¾²·¹µå¸¦ ÀÌ¿ëÇÏ¿©..º¹»ç ÇÁ·Î±×·¥À» ¸¸µå´Âµ¥¿ä..¾Æ·¡¿¡¼­..
PERMS °¡..¼³Á¤µÇ¾îÀÖ¾î º¹»ç ÇÁ·Î±×·¥À» ¸¸µé¸é..rw------- ÀÇ ÀÏÁ¤ÇÑ Æ۹̼Ǹ¸ ÀÌ·ç¾îÁö°ÔµÇ´Âµ¥¿ä..

ÀÌ°É Á¶±Ý ÀÀ¿ëÇؼ­ Æ۹̼ÇÀ» ¿øº»ÆÄÀÏ¿¡¼­ º¹»çÇÏ´Â ÇÁ·Î±×·¥À¸·Î º¯°æÇÏ´Â °ÍÀÔ´Ï´Ù..

ÀÌ°É..¾Æ¸¶µµ Á¦»ý°¢¿£..umask() ÇÔ¼ö..¸¦ ÀÌ¿ëÇÏ´Â °Å¶ó°í »ý°¢ÇßÁö¿ä..

ÇÏÁö¸¸ ¿øº» È­ÀÏÀÇ Æ۹̼ÇÀ» ºÒ·¯¿À´Â°Ô ½±Áö°¡ ¾Ê³×¿ä...

ºÎŹµå¸®°Ú½À´Ï´Ù..^^;; 1ÁÖÀϵ¿¾È ÀÌÃ¥ ÀúÃ¥ ã¾Æº¸¸é¼­ .Âü..Àú¸¦ ¹Ì¿öÇÏ°Ô µÇ´õ±º¿ä..¤Ì_¤Ì

½Ã½ºÅÛ ÇÁ·Î±×·¡¹Ö ÂÊÀÌ°ÚÁö¿ä..ÀÌ°Ô ¸®´ª½º Áß½ÉÀ¸·Î § ÇÁ·Î±×·¥À̶ó´Â Á¡µµ ÀÌÇØÇØÁֽñ¸¿ä..±×·³ ¸íÄèÇÑ ´ä±Û ±â´Ù¸®°Ú½À´Ï´Ù...


#include <errno.h>
#include <fcntl.h>
#include <pthread.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <unistd.h>
#include <sys/stat.h>
#include <sys/types.h>

#define PERMS (S_IRUSR | S_IWUSR) //À̺κÐÀÌ ¹®Á¦ÀÇ ÆÛ¹Ì¼Ç ºÎºÐ...
#define READ_FLAGS O_RDONLY
#define WRITE_FLAGS (O_WRONLY | O_CREAT | O_TRUNC)

static int readwrite(int fromfd, int tofd)
{
char buf[1024];
int bytesread;
if((bytesread = read(fromfd, buf, 1024)) < 0) return -1;
if(bytesread == 0) return 0;
if(write(tofd, buf, bytesread) < 0) return -1;
return bytesread;
}

static int copyfile(int fromfd, int tofd)
{
int bytesread; int totalbytes = 0;
while((bytesread = readwrite(fromfd, tofd)) > 0)
totalbytes += bytesread;
return totalbytes;
}

static void *copyfilemalloc(void *arg)
{
int *bytesp; int infd, outfd;
infd = *((int *)(arg));
outfd = *((int *)(arg) +1);
if((bytesp = (int *)malloc(sizeof(int))) == NULL)
return NULL;
*bytesp = copyfile(infd, outfd);
close(infd); close(outfd);
return bytesp;
}

int main(int argc, char *argv[])
{
int *bytesptr; int error; int fds[2]; pthread_t tid;
//1ÁÖÀϵ¿¾È ÀÌ »çÀÌ¿¡´Ù°¡ umaskÇÔ¼ö¸¦ ÀÌ¿ëÇÏ¿© Âü ¸¹Àº ÀϵéÀ» Çغ¸¾ÒÁö¸¸..¿øº»ÆÄÀÏÀÇ ÆÛ¹Ì¼Ç ºÒ·¯¿À±â¿¡ ½ÇÆÐÇÏ¿´½À´Ï´Ù..
if(argc != 3){
fprintf(stderr, "Usage : %s fromfile tofile\n",argv[0]);
return 1;
}
if(((fds[0] = open(argv[1], READ_FLAGS)) == -1) ||
((fds[1] = open(argv[2], WRITE_FLAGS, PERMS)) == -1)){ // Á¦»ý°¢¿¡ ¼öÁ¤µÇ¾î¾ß ÇÒ ºÎºÐ...PERMS°¡ ¾Æ¹«·¡µµ ¹®Á¦Àεí..½Í³×¿ä...
perror("Failed to open the files"); return 2;
}
if(error = pthread_create(&tid, NULL, copyfilemalloc, fds)){
fprintf(stderr, "Failed to create thread: %s\n", strerror(error));
return 3;
}
if(error = pthread_join(tid, (void **)&bytesptr)){
fprintf(stderr, "Failed to join thread: %s\n", strerror(error));
return 4;
}
printf("Number of bytes copied: %d\n", *bytesptr);
return 0;
}

¼÷Á¦´Â È¥ÀÚ¼­...È¥ÀÚ¼­...ÇÏÁö¸¸ ½Ã°£ÀÌ..¾ó¸¶ ¾øÀ¸´Ï±î ÀÌ·¸°Ô¶óµµ..
±×¸®°í..¾ï¿ïÇØ¿ä..-_-;; ÀÌ·¸°Ô Àú·¸°Ô Çغôµ¥...¾ÈµÇ´Ï±î..

¼÷Á¦ ¸øÇÏ´õ¶óµµ ¾Ë¾Æ¾ß°Ú½À´Ï´Ù...±×·³..¿À´Ã ÇÏ·ç ÇູÇϼ¼¿ä..

  Hit : 2857     Date : 2005/04/26 07:28



    
indra ¼÷Á¦´Â.. È¥ÀÚÀÇ ÈûÀ¸·Î..-_-; 2005/04/27
indra sys/stat.h ¸¦ ¾²¼ÌÀ¸¸é¼­µµ stat() »ç¿ëÀÇ °í·Á¸¦ Çغ¸½ÃÁö ¾ÊÀ¸½Å°Í °°Àºµ¥ ¿øº»ÆÄÀÏÀ» open ÇßÀ¸´Ï fstat() À» ¾²½Ã¸é µÇ°Ú±º¿ä.. 2005/04/27
indra fstat() »ç¿ëÈÄ¿¡ struct stat ±¸Á¶Ã¼ Á¤º¸¸¦ ¹Þ¾Æ¿Í º¸¸é ³»ºÎ¿¡ st_mode ¶ó´Â ¸â¹ö°¡ ÀÖÀ»°Ì´Ï´Ù.. 2005/04/27
indra ±× Á¤º¸¸¦ »çº»ÆÄÀÏ open ÇÒ¶§¿¡ permission Á¤º¸·Î ÁÖ¸é µË´Ï´Ù.. PERMS ¸¦ ±×°É·Î ´ëÄ¡ÇØÁÖ¸é µÇ°Ú³×¿ä.. 2005/04/27
tongil8167 ´äº¯ °¨»çµå¸³´Ï´Ù..»ç½Ç Àß ¸ð¸£´Âµ¥..³Ê¹« umask¿¡ Ä¡ÁßÇß´ø°Í °°³×¿ä..ÇÔ¼öµµ Àß »ç¿ëÇÒ ¼ö ÀÖ´Â °í¼ö°¡ µÇ°Ú½À´Ï´Ù..°¨»çÇÕ´Ï´Ù.. 2005/04/27  
¸Û¸Û Å©Èå~ ¿ª½Ã Àεå¶ó´Ô~ ^_^b 2005/05/11  
3204   Ä¡Æ®¿£Áø °í¼öºÐ °è½Ç±î¿ä[1]     rjsdudals123
02/15 266
3203   ¿À·ù Á» ã¾ÆÁÖ¼¼¿ä [1]     marunim
05/30 990
3202   c¾ð¾î segmentation fault:11 ¿À·ù Áú¹®µå¸³´Ï´Ù![2]     leebk1124
05/21 2071
3201   C++ÇÔ¼ö°ü·Ã Áú¹®ÀÌ¿¡¿ë!![3]     1999dylee
05/11 1884
3200   ÆÄÀ̽ã Áö¹® µå¸³´Ï´Ù.[1]     kksh1107
04/24 1617
3199   ¸®¹ö½ÌÀÇ ¼¼¹ø¤Š ²É - ¿ª¶û-     nninni79
04/20 2336
3198   ´Þ°í³ª ¹®¼­ ½©ÄÚµå[1]     ghjk645
03/24 1641
3197 ºñ¹Ð±ÛÀÔ´Ï´Ù  c¾ð¾î ¼Ò¼ö °ª     adwefq
04/29 1
3196   C¾ð¾î ¼Ò½ºÁú¹®ÀÔ´Ï´Ù![5]     an0088
01/05 5272
3195   C++ /// ºôµå ¿¡·¯ ¤Ð¤Ð[1]     guichanta
08/23 2433
3194 ºñ¹Ð±ÛÀÔ´Ï´Ù  c¾ð¾î µµ¿ÍÁÖ¼¼¿ä¤Ð¤Ð     su6339
04/06 0
3193   ÇØÅ·À» ¹è¿ì·Á°íÇϴµ¥[3]     zoodem04
03/26 4216
3192   c¾ð¾î¸¦ ¹è¿ì°í½Í¾î¿ä ![7]     dwc07238
02/11 4174
3191   ½ºÅÃÀÌ ½×ÀÌ´Â ¹æÇâ¿¡ °üÇؼ­!![1]     hackxx123
12/10 3573
3190   ÇØÅ·Åø¿¡¼­ ip ¾øÀÌ Çϵ忡 ½É´Â°Å¿¡´Â ¾î¶²°Ô ÀÖÀ»±î¿ä?[2]     aowlrgmlals
11/27 4409
3189   C¾ð¾î Çϴµ¥ double ½Ç¼ö¸¦ ³ÖÀºµ¥ ÀÚ²Ù 0.0ÀÌ ³ª¿Í¿ä[2]     fatou10336
11/20 3867
3188   dumpcode.h ÀÌÇØÁ» µµ¿ÍÁÖ¼¼¿ä .[1]     cm6418
11/06 3845
3187   c¾ð¾î ¾Ë°í¸®Áò Áú¹®ÀÔ´Ï´Ù.[3]     alstn8150
10/12 3828
3186     [re] c¾ð¾î ¾Ë°í¸®Áò Áú¹®ÀÔ´Ï´Ù.     dafher
05/13 1616
3185   c¾ð¾î ¼Ò½º Áú¹® ¹¹°¡ ¹®Á¦ÀÎÁö¤Ì¤Ì¤Ì¤Ì[2]     sjjh96
05/23 4356
1 [2][3][4][5][6][7][8][9][10]..[161]

Copyright 1999-2024 Zeroboard / skin by Hackerschool.org / Secure Patch by Hackerschool.org