디시인사이드 갤러리

갤러리 이슈박스, 최근방문 갤러리

갤러리 본문 영역

소스 질문좀요 ㅜㅜ

런공갤로그로 이동합니다. 2011.12.09 19:59:19
조회 44 추천 0 댓글 0

#include <fcntl.h>
#include <stdlib.h>
#include <stdio.h>
#include <unistd.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <pwd.h>
#include <grp.h>


int FILECopy(int argc, char *argv[]) {  // 파일을 복사하는 함수
 int rfd, wfd, n;        // 파일을 읽어올때 사용할 rfd와 쓸때 사용할 wfd 읽어올정보가있는지 판별할 n
 char buf[1024];        // 복사할 파일에서 읽은 정보를 임시저장하는 배열
 
 rfd = open(argv[2], O_RDONLY);   // 저수준으로 읽기전용으로 파일 오픈
 if(rfd == -1) {        // 읽지 못하면 종료
  perror("rfd file open err");
  exit(1);
 }
 wfd = open(argv[3], O_CREAT | O_TRUNC | O_WRONLY, 0644);  // 저수준의 쓰기파일 쓰기전용으로생성 없다면 생성하고 있다면 덮어쓴다
 if(wfd == -1) {        // 읽어올 파일을 생성하지 못하면 종료
  perror("wfd file open err");
  exit(1);
 }
 while ((n=read(rfd, buf, 128)) >  0 ) { // 읽어올 파일에서 정보를 받고 파일의 끝에 도달하면 종료
  if(write(wfd, buf,  n) !=n) {    // 쓸 정보가 있다면 종료
   perror("write err");
  }
   if(n == -1) {        // 읽지 못하면 종료
    perror("read err");
   }
 }
}

usage(void) {            // 아무런 옵션을 적지 않으면 사용법을 출력
 printf("-c(복사) -p(복사) -m(이동) -v(이동) -n(UID 및 GID 변경)\n");
 printf("-c 옵션 사용법 lm -c 파일및디렉토리명 파일및디렉토리명\n");
    printf("-p 옵션 사용법 lm -p 파일및디렉토리명 파일및디렉토리명\n");
 printf("-m 옵션 사용법 lm -m 파일및디렉토리명 파일및디렉토리명\n");
 printf("-v 옵션 사용법 lm -v 파일및디렉토리명 파일및디렉토리명\n");
 printf("-n 옵션 사용법 lm -n 파일및디렉토리명  UID GID\n");
}
int main(int argc, char *argv[]) {
 
 int rfd, wfd, delete, option, i=0;  // 사용할 변수 선언
 char input;
 struct stat statbuf;       // statbuf로 stat 구조체 선언
 struct passwd *u_info;      // u_info로 passwd 구조체 선언
 struct group *g_info;      // g_info로 group 구조체 선언
   char pathbuf[BUFSIZ]; //원본파일의 경로를 저장할 버퍼
 
 if(argc < 2) {   // 입력 받은 옵션이 없으면 옵션 사용법 출력
  usage();
  return 0;
 }

 if (stat(argv[2], &statbuf) == -1) { // 올바른 파일 정보가 입력되지 않으면 종료
  perror("stat err");
  exit(1);
 }
 if(S_ISREG(statbuf.st_mode) == 1) {  // 입력된게 파일이라면
  printf("선택하신 %s 는 파일입니다.\n", argv[2]);

  while ((option = getopt(argc, argv, "cpmvn:")) !=-1) { // 옵션으로 -c -p -m -v -n 구현 입력된 옵션이 없다면 실행하지 않는다
   switch (option) {
    case 'c':   // c옵션을 사용하면
     printf("파일 복사를 원하십니까? ( Y 또는 N ) : ");
     scanf("%c", &input);   // input에 식별자를 입력받는다.
    
     if (input == 'y' || input == 'Y') {
      FILECopy(argc, argv); //파일복사함수호출
      realpath(argv[3], pathbuf); //복사된 파일의 경로를  저장
      printf("파일 복사가 %s 에 성공적으로 이루어졌습니다.\n", pathbuf);
      break;
     }
     else
      printf("파일 복사가 이루어 지지 않았습니다.\n");
      break;
    case 'p':   // p옵션을 사용하면
     scanf("%c",&input);   // input에 식별자를 입력받는다.
     if (input == 0) {
      FILECopy(argc, argv); //파일복사함수호출
      realpath(argv[3], pathbuf); //복사된 파일의 경로를  저장
      printf("파일 복사가 %s 에 성공적으로 이루어졌습니다.\n", pathbuf);
      break;
     }
     else
      printf("파일 복사가 이루어 지지 않았습니다.\n");
      break;



여기서 'p' 옵션 이게 cp명령어의 f옵션 기능을 담당 하는데
y/n메세지 출력 없이 강제로 바로 파일 복사가 되게끔 하려면 if 안에 어떤 내용을 써야 될까요?ㅜㅠㅠ


추천 비추천

0

고정닉 0

0

댓글 영역

전체 댓글 0
본문 보기

하단 갤러리 리스트 영역

왼쪽 컨텐츠 영역

갤러리 리스트 영역

갤러리 리스트
번호 제목 글쓴이 작성일 조회 추천
설문 뛰어난 운동 신경으로 남자와 싸워도 이길 것 같은 여자 스타는? 운영자 25/11/24 - -
AD 따뜻한 겨울나기! 방한용품 SALE 운영자 25/11/27 - -
294383 형들 1's complement랑 2's complement 차이좀 [2] 도와줘(110.13) 11.12.15 70 0
294381 민방위 교육 왔는데 [6] 분당살람갤로그로 이동합니다. 11.12.15 107 0
294380 후.. 출근 :) +어게인갤로그로 이동합니다. 11.12.15 64 0
294377 아 시발 책상 업어야 겠다 [1] Adelposs갤로그로 이동합니다. 11.12.15 80 0
294375 오오 트리도 보고 케롤도 들었다 [1] 쿄스케갤로그로 이동합니다. 11.12.15 53 0
294372 형들 이거 풀어줘 뻥안치고 진짜 풀어주면 3만원 바로입금해줌 [2] 시발.(110.13) 11.12.15 108 0
294369 C++ 프로그래밍 에러난거좀 도와주세요 ㅠㅠ [14] 게이아님(210.107) 11.12.15 132 0
294368 오랜만에 왔는데 [1] y녀6디리(220.118) 11.12.15 77 0
294367 퇴근했다... [2] 캐튀긴닭(121.88) 11.12.15 82 0
294365 wpe잘하는횽들 [3] 용장어(211.189) 11.12.15 101 0
294361 형님들 이 시간에 코드 질문 하면 당연히 안봐주실거죠 [7] 으앜(1.224) 11.12.15 125 0
294360 컴공 2학년인뎅.. 방학때 고시공부하듯 컴터 팔려는데 도움좀 .ㅠ [17] 라이온킹(58.125) 11.12.15 250 0
294359 fwrite fread 알려주세용 [5] 잣고딩(219.241) 11.12.15 52 0
294358 자바 좀 할줄 아는 님들 ~~~~ 문제하나 풀어주고 치킨값받아가영 [3] 좌바(222.116) 11.12.15 109 0
294356 glibc detected *** malloc(): memory corr [9] ㅇㅇㅇ(61.75) 11.12.15 74 0
294354 횽들 2500정도 받고 취업하려면 뭘 해야 해? [10] ㅋㄹ(119.70) 11.12.15 170 0
294353 계정로그인 오류!!!! 여러분 제발 저좀 도와주세요! d2nb(221.157) 11.12.15 42 0
294352 To. 늘보횽 캐병신닭(115.92) 11.12.15 62 0
294350 발 버 둥 [6] 캐병신닭(115.92) 11.12.14 160 0
294349 컴공/공대에 여자 없냐는 아가들은 봅니다 [2] Dawnwalkre갤로그로 이동합니다. 11.12.14 238 0
294348 이번에 플밍용으로 노트북 하나 사려는데 뭐가 낫나요? [3] 뿌잉(211.222) 11.12.14 148 0
294345 자바 [11] 정수정•‿•갤로그로 이동합니다. 11.12.14 135 0
294344 폼에서 컨트롤을 클릭했을때 '폼에서' 이벤트 잡는방법 뭐 없음? ㅇㅇㅇ(121.144) 11.12.14 43 0
294343 형들 c코딩에서 문제점이 뭔지좀 알려주세요ㅜㅜ [3] ddd(218.39) 11.12.14 69 0
294342 VB 프로그레스 바 색상 변경 어케함? 간난이(121.184) 11.12.14 68 0
294341 컴공 가기전에 c언어 배우는게좋대는데 [3] 컴공가장?(122.34) 11.12.14 157 0
294340 내일 컴퓨터학원 시간강사 면접보러 갑니다. 조공 [3] 머시기갤로그로 이동합니다. 11.12.14 192 0
294338 상수값 튜닝하기 조낸 귀찮네.... 땡칠도사갤로그로 이동합니다. 11.12.14 68 0
294337 금연 6개월차...존나 손떨리고 담배피고 싶다... [3] 캐망함닭(115.92) 11.12.14 108 0
294336 웹 프로그래머 일 [3] 씨발놈갤로그로 이동합니다. 11.12.14 148 0
294335 허허 폰트는 Segoe Script거늘 [3] elwlwlwk갤로그로 이동합니다. 11.12.14 91 0
294334 대기업하고 일반 중소기업하고 근무환경,연봉이런게 차이가 그렇게커? [2] ㅇㅇ(222.112) 11.12.14 190 0
294333 리눅스 잘하는 횽들 급헬프 ㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠ [25] 캐망함닭(115.92) 11.12.14 177 0
294332 왜 내컴파일러는 itoa 인식못하지? [3] 마타버터갤로그로 이동합니다. 11.12.14 75 0
294331 아 씨바 석차넣고싶은데 존나 힘들다! 과제 씨발ㅠㅠ [6] ㅇㅇ(165.229) 11.12.14 99 0
294330 제발 matlab좀 도와주세요 ㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠ하앍ㄹ 도와주세요(61.255) 11.12.14 88 0
294329 좆고딩인데 프로그래밍 해보는거보다 정올 나가보는게 더 나음? [2] ㅇㅇ(121.173) 11.12.14 113 0
294328 프로그래밍 폰트 .. 콘솔라스가 젤 낳다 [4] ㅈㄹㄷ(219.255) 11.12.14 128 0
294327 대학교 컴공 가려고 하는데 갤로그로 이동합니다. 11.12.14 264 0
294326 크리스마스가 다가오는데 분위기가 안난다 [5] 쿄스케갤로그로 이동합니다. 11.12.14 62 0
294324 님들아 c++ 2010 실행방법좀 도와주세여 [8] ㄱㅁ(124.80) 11.12.14 76 0
294323 근데 상속에서 base클래스의 생성자를 호출할 수 있던데? [3] elwlwlwk갤로그로 이동합니다. 11.12.14 71 0
294322 오늘 허그데이였는데 [1] Lover♥갤로그로 이동합니다. 11.12.14 52 0
294320 이번학기는 평점 4.3은 넘길 수 있을 듯 Lover♥갤로그로 이동합니다. 11.12.14 57 0
294319 횽들 이거 텍스트 파일 이름 뭘로 해야해요? 가르쳐주세욯ㅎㅎㅎ [4] 슴시카갤로그로 이동합니다. 11.12.14 54 0
294318 근데요 C++0x 가 아니라 C++11 이라고 불르는거 아님?? [1] [성대아싸]갤로그로 이동합니다. 11.12.14 84 0
294317 이거 JAVA인데.. [15] 예비군0년차(180.64) 11.12.14 129 0
294316 TCP/IP프로그래밍하는데 마타버터갤로그로 이동합니다. 11.12.14 62 0
294314 부장님이 점심에 밥 사주셨는데, 므해?갤로그로 이동합니다. 11.12.14 87 0
294313 기분좋아서 쓰는 C++ 0x 살펴보긔 [6] 요하임plus갤로그로 이동합니다. 11.12.14 138 0
갤러리 내부 검색
제목+내용게시물 정렬 옵션

오른쪽 컨텐츠 영역

실시간 베스트

1/8

디시미디어

디시이슈

1/2