디시인사이드 갤러리

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

갤러리 본문 영역

소스 질문좀요 ㅜㅜ

런공갤로그로 이동합니다. 2011.12.09 19:59:19
조회 41 추천 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 - -
이슈 [디시人터뷰] 충무로가 주목하는 신예, '세계의 주인' 서수빈 운영자 25/11/24 - -
AD 대학생 필수템! What's in my Bag 운영자 25/11/21 - -
293803 미국등에서 나오는 각종 아티클이나 뉴스그룹등에서 글을 보다가 프겔을 오면 곽노현차장(59.13) 11.12.12 88 0
293801 해일리횽 아직있음요?! [2] Dawnwalkre갤로그로 이동합니다. 11.12.12 84 0
293798 값을 넣는데도 화면에 안나오는건 어떤경우인가요 ? [4] 으헝(211.246) 11.12.12 76 0
293797 여기서 씨뿔 과제 질문하면 까이나요? [9] dd(202.30) 11.12.12 180 0
293796 씨언어 일학년생인데 딸만한 자격증좀추천드려용 [3] 미니쫑갤로그로 이동합니다. 11.12.12 142 0
293794 야 mlb랑 약므브랑 다른놈임? [4] 응잉앙앵(211.48) 11.12.12 68 0
293792 횽들 자바 학원좀 추천해줘 줫밥(122.49) 11.12.12 177 0
293791 흐규흐규 방배로 또 팔려오다니 [3] 쿄스케갤로그로 이동합니다. 11.12.12 94 0
293789 예전 프갤 멤버들은 요새 통 안 보이네.. [6] 꽃뉴비(112.214) 11.12.12 134 0
293787 점심시간인데 당직이야 [2] 해일리갤로그로 이동합니다. 11.12.12 75 0
293782 힘든 하루였다. [6] Gromit갤로그로 이동합니다. 11.12.12 111 0
293779 내가 회사 사장되면 졸릴때 자라고 할꺼다.. [3] 므해?갤로그로 이동합니다. 11.12.12 141 0
293778 횽들은 연필 잡을때 올바르게 잡구 있음? [13] 캐한석봉닭(115.92) 11.12.12 163 0
293776 입력값은 넣는데 왜 화면 출력이 안될까 ㅡ_ㅡ [1] 으헝(211.246) 11.12.12 48 0
293775 안녕 [3] 어슐러르귄갤로그로 이동합니다. 11.12.12 66 0
293774 안드로이드 게임 개발할려는 형들에게 추천함 [4] 싴보이갤로그로 이동합니다. 11.12.12 168 0
293773 자바로 만든 틀린그림찾기 게임 소스 삽니당 [1] 흐규흐규(220.68) 11.12.12 98 0
293772 공군 인트라넷 사이트들은 회원의 개인정보를 무제한으로 액세스 가능한듯 u2em갤로그로 이동합니다. 11.12.12 97 0
293771 시뱅 내 20분 돌려놔. [4] -쏭-갤로그로 이동합니다. 11.12.12 73 0
293770 내년에 컴공 4학년인데 이제 정보처리기사 준비하려고하는데 조언좀. [4] 크리스탈스톰(118.217) 11.12.12 138 0
293769 월요일 로딩 중 [1] ㅁㄴㄻㄹ갤로그로 이동합니다. 11.12.12 44 0
293766 벌써이번학기의 첫강의의 종강 [1] 三didas갤로그로 이동합니다. 11.12.12 48 0
293765 개발언어에 따른.. 직종의 차이랄까.. [10] 수상한김토끼갤로그로 이동합니다. 11.12.12 249 0
293763 함수가 돌다가 종료시킬려고 하는데 [2] ㅋㅋ(121.169) 11.12.12 62 0
293762 프로그래밍학원다닐라하는대 이건산전갤로그로 이동합니다. 11.12.12 82 0
293761 성님들 이제 1학년 끝나고 막 C언어 끝나가는 늅늅이인데 [1] 약므프(222.251) 11.12.12 90 0
293760 이제 내년에 4학년되는 [2] 三didas갤로그로 이동합니다. 11.12.12 102 0
293759 프갤에 정보처리기사 딴 형 잇어?? [10] ㅋㅋ(210.125) 11.12.12 193 0
293758 정전엔 뻘글이 최고지 DevilCruiser갤로그로 이동합니다. 11.12.12 36 0
293757 3학년 1학기는 23학점 들어야겠음 DevilCruiser갤로그로 이동합니다. 11.12.12 55 0
293755 검색을 하다가 실시간 검색어를 봤는데 나리링갤로그로 이동합니다. 11.12.12 58 0
293754 월요일 출근해 자리에 앉아..주말에 만난 소개팅녀를 생각해본다.. [1] 므해?갤로그로 이동합니다. 11.12.12 84 0
293753 야호 초인이 된거 같다! 일광면(119.198) 11.12.12 60 0
293751 일주일동안 자리를 비웠더니 ... [2] iljeomobolt갤로그로 이동합니다. 11.12.12 88 0
293750 자바 클래스간 메세지패싱은 call by value임? [1] DevilCruiser갤로그로 이동합니다. 11.12.12 54 0
293749 안드로이드 앱 개발하려고 하는데... [1] Diaman갤로그로 이동합니다. 11.12.12 111 0
293748 개간단한건데.. [1] 아놔(112.162) 11.12.12 80 0
293747 자바 존나 빡친다 ㅅㅂ [2] DevilCruiser갤로그로 이동합니다. 11.12.12 78 0
293746 C++ 최고의 책은 THE C++ PROGRAMMING LANGUAGE. [푸리울]갤로그로 이동합니다. 11.12.12 97 0
293745 c언어로 만든 테트리스ㅋㅋㅋㅋㅋ [2] ㅁㄴㅇㄹ(61.78) 11.12.12 179 0
293744 아흑 미치게따 앤트리 포인트를 못찾네.. [2] 일광면(119.198) 11.12.12 57 0
293743 게임 프로그래밍에 관심있는사람들 이 툴 완전 추천함 [17] 응잉앙앵(211.48) 11.12.12 235 0
293742 goto 왜안됨? 다 쓰라고 넣은거 아님? [9] 응잉앙앵(211.48) 11.12.12 139 0
293741 횽들 자바 입출력 질문좀. [1] DevilCruiser갤로그로 이동합니다. 11.12.12 44 0
293738 게임 만들거나 물리 그래픽엔진 그런쪽은 뭐라고함? [1] Lapter(121.159) 11.12.12 110 0
293737 아 시발 미안 이제 다한,, 근데 이거 몇학년꺼? [9] 응잉앙앵(211.48) 11.12.12 155 0
293735 [딴거] cancer.jpg... [2] 땡칠도사갤로그로 이동합니다. 11.12.12 124 0
293734 응잉앙앵님 멀엇나요 ㅠㅠ [3] 약므프(222.251) 11.12.12 49 0
293730 난수 생성 질문점 할게요 [14] fd(121.186) 11.12.12 81 0
293729 아아.. 다시 질문할께.. 자바 deepcopy 어떻게 해?? ㅁㄴㅇ(175.116) 11.12.12 34 0
갤러리 내부 검색
제목+내용게시물 정렬 옵션

오른쪽 컨텐츠 영역

실시간 베스트

1/8

디시미디어

디시이슈

1/2