본문내용
rgv[2], O_CREAT | O_RDWR, 0664);
// 파일을 읽고 쓰기 전용, 퍼미션 0664로 파일을 생성한다
}
while((n = read(in, buf, sizeof(buf)) )>0)
// in이 가리키는 파일이 끝까지 buf만큼의 크기만큼 데이터를 읽어온다 파일의 끝일 경우 루프 종료
write(out, buf, n);
// buf에 저장된 데이터를 in이 가리키는 파일에서 읽어온 바이트 수만큼 out이 가리키는 파일에 저장한다.
lseek(out, 0, SEEK_SET); // out이 가리키는 파일의 시작지점으로 오프셋을 시행
while((n = read(out, buf, 1) ) > 0){ // out이 가리키는 파일의 끝까지 1바이트 크기만큼 buf에 읽어온다
if((*buf>='A' && *buf<='Z')||(*buf>='a' && *buf<='z')) // 알파벳인경우
num_alph += 1; // 알파벳의 개수 1증가
else if(*buf>=48 && *buf<=57) // 숫자인 경우
num_num += 1; // 숫자의 개수 1증가
else // 그 밖의 문자인 경우
num_others += 1; // 기타 문자의 개수 1 증가
byte += 1; // 하나를 읽어 올때 마다 바이트 수 1씩 증가
}
// int형 값인 byte 값, 알파벳의 개수, 숫자의 개수, 기타문자의 개수를 char형 공간에 char형태로 저장후에
// 다시 out이 가리키는 파일에 문자열 형태로 입력한다.
sprintf(i_byte, "byte : %d / ", byte);
write(out, i_byte, sizeof(i_byte));
sprintf(i_alph, "The Number of Alphabet : %d / ", num_alph);
write(out, i_alph, sizeof(i_alph));
sprintf(i_num, "The Number of Number : %d / ", num_num);
write(out, i_num, sizeof(i_num));
sprintf(i_others, "The Number of Other Characters : %d\n", num_others);
write(out, i_others, sizeof(i_others));
// out 과 in 이 가리키는 파일을 닫고, 프로그램 종료
close(out);
close(in);
exit(0);
}
// 파일을 읽고 쓰기 전용, 퍼미션 0664로 파일을 생성한다
}
while((n = read(in, buf, sizeof(buf)) )>0)
// in이 가리키는 파일이 끝까지 buf만큼의 크기만큼 데이터를 읽어온다 파일의 끝일 경우 루프 종료
write(out, buf, n);
// buf에 저장된 데이터를 in이 가리키는 파일에서 읽어온 바이트 수만큼 out이 가리키는 파일에 저장한다.
lseek(out, 0, SEEK_SET); // out이 가리키는 파일의 시작지점으로 오프셋을 시행
while((n = read(out, buf, 1) ) > 0){ // out이 가리키는 파일의 끝까지 1바이트 크기만큼 buf에 읽어온다
if((*buf>='A' && *buf<='Z')||(*buf>='a' && *buf<='z')) // 알파벳인경우
num_alph += 1; // 알파벳의 개수 1증가
else if(*buf>=48 && *buf<=57) // 숫자인 경우
num_num += 1; // 숫자의 개수 1증가
else // 그 밖의 문자인 경우
num_others += 1; // 기타 문자의 개수 1 증가
byte += 1; // 하나를 읽어 올때 마다 바이트 수 1씩 증가
}
// int형 값인 byte 값, 알파벳의 개수, 숫자의 개수, 기타문자의 개수를 char형 공간에 char형태로 저장후에
// 다시 out이 가리키는 파일에 문자열 형태로 입력한다.
sprintf(i_byte, "byte : %d / ", byte);
write(out, i_byte, sizeof(i_byte));
sprintf(i_alph, "The Number of Alphabet : %d / ", num_alph);
write(out, i_alph, sizeof(i_alph));
sprintf(i_num, "The Number of Number : %d / ", num_num);
write(out, i_num, sizeof(i_num));
sprintf(i_others, "The Number of Other Characters : %d\n", num_others);
write(out, i_others, sizeof(i_others));
// out 과 in 이 가리키는 파일을 닫고, 프로그램 종료
close(out);
close(in);
exit(0);
}
추천자료
유닉스 와 Windows NT 비교
[리눅스] 리눅스 쉘프로그래밍
리눅스, 유닉스의 프로세스, 주기억장치, 파일관리
유닉스에서 소켓 프로그래밍을 이용한 서버/클라이언트 무선랜 파일 전송 프로그램 (A server...
[유닉스] 쉘 Shell 셸 프로그래밍 전체 소스코드 및 상세주석
[유닉스 쉘 스크립트 프로그래밍]
[유닉스 프로그래밍] 파일을 거꾸로 저장하는 프로그램
[유닉스 프로그래밍] 나만의 쉘인 mysh 구현
[유닉스][유닉스 특성][유닉스 기능][유닉스 기능 구분][유닉스 역사][유닉스 명령어 일람][...
CrazyRabbit_유닉스기반 텍스트 게임
소개글