
|
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
main(int argc, char *argv[])
{
DIR *dp;
struct dirent *dirp;
char *dir;
/* 명령 라인의 인수가 1개라면 현재 작업 디렉토리에 대해 동작 */
if (argc == 1)
dir = ".";
/* 그렇지 않으면 argv[1] 디렉토리에 대해 동작 */
else
dir = argv[1];
if((dp=opendir(dir)) == NULL) { /* dir 디렉토리 열기 */
perror("opendir failed");
exit(1);
}
/* dp 디렉토리의 모든 항목들에 대한 이름을 출력.
단, “.”으로 시작되는 항목에 대한 이름은 출력하지 않음 */
while (dirp=readdir(dp)) {
if (strncmp(dirp->d_name, ".", 1))
printf("%s ", dirp->d_name);
}
printf("\n");
closedir(dp); /* dp 디렉토리 닫기 */
exit(0);
}
//21_20
#include <fcntl.h>
#include <sys/types.h>
#include <unistd.h>
main(int argc, char *argv[])
{
int fd;
if ((fd = open(argv[1], O_WRONLY)) == -1) {
perror("open failed");
exit(1);
}
/* fd 파일을 100바이트 크기로 자름 */
if (ftruncate(fd, 100) == -1) {
perror("ftruncate failed");
exit(1);
}
close(fd);
exit(0);
}
파일 크기 바꾸기
truncate, ftruncate 함수
기능
파일을 지정한 크기로 자른다.
기본형
int truncate(const char *path, off_t length);
int ftruncate(int fd, off_t length);
path : 자르고자 하는 파일의 이름
fd : 자르고자 하는 파일의 파일 식별자
length : 파일의 크기
반환값
성공 : 0
실패 : -1
헤더 파일
<unistd.h>
--------------------------------------
#include <fcntl.h>
#include <sys/types.h>
#include <unistd.h>
main(int argc, char *argv[])
{
int fd;
if ((fd = open(argv[1], O_WRONLY)) == -1) {
perror("open failed");
exit(1);
}
/* fd 파일을 150 바이트 크기로 만든다. 파일의 크기가 150바이트보다
작아도 150바이트 크기가 되는데 빈 공간은 NULL로 채워진다. */
if (ftruncate(fd, 150) == -1) {
perror("ftruncate failed");
exit(1);
}
close(fd);
exit(0);
}
----------------------------------
sokoban's Blog is powered by Daum & Tattertools