Inicio / rename 함수 예제

rename 함수 예제

다음 예제에서는 UNIX 운영 환경에서 디렉터리 이름을 바꿉니다. 이전 인수가 기호 링크의 경로 이름을 가리키는 경우 기호 링크의 이름이 바뀝니다. 새 인수가 기호 링크의 경로 이름을 가리키면 기호 링크가 제거됩니다. 유닉스와 같은 운영 체제에서 이름 바꾸기 명령은 정규식을 사용하여 여러 파일의 이름을 바꿉니다. 그것은 래리 월, 펄 프로그래밍 언어의 창조자에 의해 작성되었습니다. name() 함수는 stdio.h 헤더 파일에 정의되어 있습니다. 파일 또는 디렉터리 이름을 이전 이름에서 새 이름으로 바꿉니다. 이름 바꾸기 작업은 이동과 동일하므로 이 함수를 사용하여 파일을 이동할 수도 있습니다. 카탈로그에서 항목의 이름을 바꾸려면 이전 이름에 대한 4개 수준 이름과 새 이름에 대한 한 수준 이름을 지정합니다. 카탈로그에서 항목의 이름을 바꿀 때 유형에 대한 카탈로그를 지정해야 합니다. 우리는 이름 geeks.txt을 갖는 텍스트 파일이 있다고 가정, 일부 내용을 갖는. 따라서 이 파일이 있는 동일한 폴더에 있는 아래 C 프로그램을 사용하여 이 파일의 이름을 바꿀 것입니다. 이전 인수 또는 새 인수의 이름이 기호 링크인 경우 name() 은 기호 링크 자체에서 작동하며 인수의 마지막 구성 요소를 해결하지 않아야 합니다.

이전 인수와 새 인수가 동일한 기존 파일로 확인되면 name()이 성공적으로 반환되고 다른 작업을 수행하지 않습니다. 다음 예제에서는 /home/cnd/mod1이라는 파일의 이름을 /home/cnd/mod2로 변경하는 방법을 보여 주며 있습니다. 성공적으로 완료되면 이름 변경()은 0을 반환합니다. 그렇지 않으면 -1이 반환되고 errno는 오류를 나타내도록 설정되어야 하며, 이전 파일이나 새 이름으로 명명된 파일은 변경되거나 생성되지 않습니다. «.jpg»라는 확장이 있는 모든 파일의 경우 문자열 «휴일»이 포함되어 있으면 «허니문»으로 대체하십시오. 예를 들어 이 명령은 파일 «ourholiday001.jpg»의 이름을 «ourhoneymoon001.jpg»로 바꿉니다. 필요한 경우 디렉터리 간에 이전 이름을 새 이름으로 변경하려고 시도합니다. 파일 및 새 이름의 이름을 바꾸면 덮어씁니다.

디렉터리 및 newname의 이름을 바꾸면 이 함수에서 경고를 내보올 수 있습니다. 지정된 파일이 식에 의해 수정되지 않으면 이름이 바뀌지 않습니다. 명령줄에 파일 이름이 지정되지 않으면 표준 입력을 통해 파일 이름을 읽습니다. mv — 파일과 디렉토리를 한 위치에서 다른 위치로 이동하고 선택적으로 이름을 바꿉니다. 펄 — 펄 프로그래밍 언어에 대한 인터프리터. 이름이 변경된 파일이 0이 아닌 정수를 반환하는 경우 0을 반환합니다. 이름 바꾸기 작업 중에 새 이름이 있는 파일이 이미 있는 경우 기존 파일을 대체합니다. 이름 바꾸기 는 정규식 perlexpr에 따라 명명 된 파일의 이름을 바꿉니다. 이전 인수가 디렉터리가 아닌 파일의 경로 이름을 가리키는 경우 새 인수는 디렉터리의 경로 이름을 가리키지 않아야 합니다. 새 인수에 의해 명명된 링크가 있으면 해당 링크가 제거되고 이전 이름이 새 인수로 변경됩니다. 이 경우 새 링크는 이름 바꾸기 작업 전체의 다른 프로세스에 계속 표시되며 작업이 시작되기 전에 새 또는 이전 파일이 참조되는 파일을 참조해야 합니다.

쓰기 액세스 권한은 이전 디렉터리와 새 디렉터리를 포함하는 디렉터리 모두에 필요합니다. 다음 예제에서 생성 데이터 집합 WORK의 이름을 바꿉니다. 하나는 작동합니다. 둘, 여기서 작업 암호. ONE #003은 내 암호입니다. 이름 바꾸기() 함수는 헤더 파일에 정의되어 있습니다. 일부 구현은 이름이 바뀐 파일의 st_ctime 필드를 업데이트하기 위해 표시하고 일부는 업데이트하지 않습니다.