본문 바로가기

반응형

Programming

(77)
C/Linux/파일 접근권한 변경 파일 접근 권한 변경- 파일명으로 접근권한 변경 : chmod(2)path에 지정한 파일의 접근권한을 mode값에 따라 변경접근권한을 더할 때는 OR연산자를, 뺄 때는 NOT연산 후 AND 연산 사용.chmod(path, S_IRWXU);chmod(path, S_IRWXU|S_IRGRP|S_IXGRP|S_IROTH);mode |= S_IWRGRP;mode &= ~(S_IROTH);- 파일 기술자로 접근 권한 변경 : fchmod(2) chmod 함수 사용12345678910111213141516171819#include #include #include int main(void) { struct stat buf; chmod("unix.txt", S_IRWXU|S_IRGRP|S_IXGRP|S_IROTH); ..
Android/오류해결/MODE_WORLD_WRITEABLE no longer supported # MODE_WORLD_WRITEABLE no longer supported 오류- openFIleOutput() 사용시, 두번째 파라미터로 들어가는 파일 모드에 MODE_WORLD_WRITEABLE을 더이상 지원하지않아 Context.MODE_PRIVATE로 사용해야한다. 오류 코드1234567891011 public void onClick(View v){ try { FileOutputStream outFs = openFileOutput("file.txt", Context.MODE_WORLD_WRITEABLE); String str = "파일 입출력"; outFs.write(str.getBytes()); outFs.close(); Toast.makeText(getApplicationContext(),"..
C/Linux 파일 접근 권한 검색 파일 접근 권한 검색 - 상수를 이용한 파일 접근 권한 검색- 접근 권한 상수 목록 (운영체제에서 제공)소유자의 접근권한 추출과 관련된 상수만 정의소유자 외 그룹과 기타사용자의 접근권한은?shift 연산자를 이용하여 오른쪽으로 3비트,6비트 이동시켜서 AND 연산을 수행한다.st_mode & (S_IREAD >> 3) - POSIX에서 정의한 접근권한 검색 관련 상수 목록 statAccess.c - 상수를 이용해 파일 접근 권한 검색12345678910111213141516171819#include #include #include int main(void) { struct stat buf; stat("unix.txt", &buf); printf("Mode = %o (Hexdeacimal : %x)\n",..
C/Linux 파일 종류 검색 파일 종류 검색 - 상수를 이용한 파일 종류 검색파일 종류에 대한 상수 - st_mode의 16진수 값과 0xF000(=S_IFMT) and 연산하면 파일 종류 부분 만 나타내는 정보를 획득 할 수 있다. statInfo.c - 상수를 이용해 파일 종류 검색1234567891011121314151617181920212223242526272829#include #include #include int main(void) { struct stat buf; int kind; stat("unix.txt", &buf); printf("Mode = %o (Hexadecimal : %x)\n", (unsigned int)buf.st_mode, (unsigned int)buf.st_mode); kind = buf.st_..
C/Linux 파일 정보 검색 파일 정보 검색 - 파일명으로 파일 정보 검색 stat(1)inode에 저장된 파일 정보 검색path에 검색할 파일의 경로를 지정하고, 검색한 정보를 buf에 저장stat 구조체 inode.c - stat함수 사용1234567891011121314151617181920212223#include #include #include int main(void) { struct stat buf; stat("unix.txt", &buf); printf("Inode = %d\n", (int)buf.st_ino); printf("Mode = %o\n", (unsigned int)buf.st_mode); printf("Nlink = %o\n", (unsigned int) buf.st_nlink); printf("UID =..
C/고수준 파일 입출력/임시 파일 생성 임시파일 생성- 임시파일명이 중복되지 않도록 임시파일명 생성- 임시파일명 생성 : tmpnam(3)임시파일명을 시스템이 알아서 생성- 접두어 지정 : tempnam(3)임시 파일명에 사용할 디렉토리와 접두어 지정, 접두어는 5글자까지만 지원tempnam 사용- 템플릿을 지정한 임시 파일명 생성 : mktemp(3)임시파일의 템플릿을 받아 임시 파일명 생성템플릿은 대문자 'X' 6개로 마치도록 해야한다. tmpnam 과 tempnam 실행 예시 임시 파일명 만들기 예시12345678910111213141516171819202122232425#include #include #include int main(void) { char *fname; char fntmp[BUFSIZ]; char template[32]..
C/고수준 파일 입출력/파일 포인터와 파일 기술자간 변환 파일기술자와 파일포인터간 변환저수준 파일 입출력의 파일기술자와 고수준 파일 입출력의 파일포인터는 상호 변환 가능 - 파일 포인터 생성 : fdopen(3) (파일 디스크립터 오픈의 약자)파일 기술자와 모드값을 받아 파일 포인터를 생성- 파일 기술자 생성: fileno(3)파일 포인터를 인자로 받아 파일 기술자를 리턴고수준에서 저수준으로 변환 fdopen 함수 사용하기123456789101112131415161718192021222324#include #include #include int main(void) { FILE *fp; int fd; char str[BUFSIZ]; fd = open("unix.txt", O_RDONLY); if (fd == -1) { perror("open"); exit(1);..
C/고수준 파일 입출력/파일 오프셋 지정 및 이동, 저장 파일 오프셋 지정- 파일 오프셋 이동 : fseek(3)stream이 가리키는 파일에서 offset에 지정한 크기만큼 오프셋을 이동whence는 lseek과 같은 값을 사용fseek은 성공하면 0을 실패하면 EOF를 리턴- 현재 오프셋 구하기 : ftell(3)현재 오프셋을 리턴. 오프셋은 파일의 시작에서 현재 위치까지의 바이트 수- 처음 위치로 오프셋 이동 ; rewind(3)오프셋을 파일의 시작 위치로 즉시 이동- 오프셋의 저장과 이동 : fsetpos(3), fgetpos(3)fgetpos: 파일의 현재 오프셋을 pos가 가리키는 영역에 저장fsetpos : pos가 가리키는 위치로 파일 오프셋을 이동 fseek 함수 사용1234567891011121314151617181920212223242526..

반응형